Frage

Auf der richtigen Schiene hier: http://www.julianamaeberger.com/soma/sample-testimonial-3/ Ich zeige einen zufälligen Beitrag "Testimonial". Im Folgenden zeige ich alle vorgestellten Bilder für die Kategorie "Testimonial", damit Sie die Bilder durchblättern und wählen können, wohin Sie als nächstes gehen möchten.

Ich möchte das Bild hervorheben, das sich mit dem obigen Inhalt bezieht, kann aber nicht herausfinden, wie es geht. Dies ist mein erstes Mal, dass Vorlagen erstellt, also werde ich es möglicherweise falsch vorgehen. Jede Hilfe in die richtige Richtung wäre sehr geschätzt.

Hier ist der Code für die richtige Schiene:

<div class="rightcolumn">
   <div class="testimonial">
     <h3>Testimonials</h3>
     <?php
 $postslist = get_posts('category_name=testimonial&numberposts=1&orderby=rand');
 foreach ($postslist as $post) : 
    setup_postdata($post);
 ?>
     <?php the_content(); ?>
     <?php endforeach; ?>
    </div>
    <div class="carousel default"> 
      <div class="jCarouselLite">
        <ul class="portfolio">
          <?php
 $postslist = get_posts('category_name=testimonial&numberposts=-1&order=DES');
 foreach ($postslist as $post) : 
    setup_postdata($post);
 ?>
          <li> 
            <?php the_post_thumbnail( 'nav' ); ?>
          </li>
          <?php endforeach; ?>
        </ul>
      </div>

      <script type="text/javascript">
    $(".default .jCarouselLite").jCarouselLite({
        btnNext: ".default .next",
        btnPrev: ".default .prev",
  visible: 3,
  scroll: 3,
  speed:100
    });   
      </script>
</div>
</div>
War es hilfreich?

Lösung

Wie Sie dieses Bild hervorheben möchten, ist spezifisch für Ihr Layout, aber es beinhaltet wahrscheinlich die Einstellung einer Klasse auf die <li> umgeben es? Sie können dies tun, indem Sie die ID des Beitrags, den Sie angezeigt haben, mit der ID des Posts, dessen Post die Miniaturansicht anzeigen, vergleichen.

In Ihrer ersten Schleife speichern Sie die ID:

$current_testimonial_id = get_the_ID();

In Ihrer zweiten Schleife vergleichen Sie es mit dem aktuellen Miniaturbild:

<li <?php if ( get_the_ID() == $current_testimonial_id ) { echo ' class="highlighted"'; } ?>>

Ein kurzer Tipp, wenn Sie mit mehreren Schleifen arbeiten: Die meisten Vorlagenfunktionen akzeptieren Post -ID -Parameter, sodass Sie die nicht verwenden müssen setup_postdata() Funktion, die einige globale Variablen festlegt. Dies ist praktisch, wenn Sie nach Ihrer zusätzlichen Schleife wieder die "Haupt" -Postfrage benötigen. Der folgende Code funktioniert also nur für die zweite Schleife:

    <ul class="portfolio">
      <?php
 $testimonials = get_posts('category_name=testimonial&numberposts=-1&order=DESC');
 foreach ($testimonials as $testimonial) : 
      ?>
      <li <?php if ( $testimonial->ID == $current_testimonial_id ) { echo ' class="highlighted"'; } ?>> 
        <?php echo get_the_post_thumbnail( $testimonial->ID, 'nav' ); ?>
      </li>
      <?php endforeach; ?>
    </ul>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top