Domanda

Sulla guida proprio qui: http://www.julianamaeberger.com/soma / sample-testimonianza-3 / sto mostrando un post casuale "testimonial". Qui di seguito che sto mostrando tutte le immagini in vetrina per la categoria "Testimonianza", in modo da poter sfogliare le immagini e scegliere dove si vuole andare.

Voglio evidenziare l'immagine che è legato al contenuto suddetto, ma non riesco a capire come farlo. Questa è la mia prima volta la costruzione di modelli, così che io possa essere andando su di esso nel modo sbagliato. Qualsiasi aiuto nella giusta direzione sarebbe molto apprezzato.

Ecco il codice per la guida a destra:

<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>
È stato utile?

Soluzione

Come si desidera evidenziare questa immagine è specifico per il layout, ma probabilmente comporta la definizione di una classe al <li> che lo circonda? È possibile farlo mettendo a confronto l'ID del post aver visualizzato con l'ID del post di cui si sta mostrando la miniatura.

Nel tuo primo ciclo si salvare l'ID:

$current_testimonial_id = get_the_ID();

Nel tuo secondo ciclo si confronta con quella corrente:

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

Un consiglio veloce se si lavora con cicli multipli: la maggior parte delle funzioni template accettare parametri pubblicare propria identità, in modo da non dovete utilizzare la funzione setup_postdata() che definisce alcune variabili globali. Questo è utile se avete bisogno di nuovo il "principale" interrogazione posta dopo il ciclo in più. Così il seguente codice funziona solo un bene per il secondo ciclo:

    <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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top