2017-08-27 1 views
0

Ich habe eine WordPress-Schleife, die ein ACF-Feld zieht. Ich muss feststellen, ob die Feldnamen identisch sind, und wenn das der Fall ist, möchte ich sie in ein div einbinden. Ich habe eine benutzerdefinierte Indexseite erstellt, aber wir möchten Felder mit demselben Autorennamen wie ein Dropdown-Feld gestalten. Also muss ich irgendwie vergleichen ob die gleich sind.Vergleichen eines ACF-Feldes innerhalb einer WordPress-Schleife, um zu sehen, ob sie gleich sind

Dies ist die Seite, an der ich arbeite http://test.improveyourenglish.com/library/ Also zum Beispiel würde ich gerne "Jane Austin" in einem div umhüllen, so dass ich es als Dropdown-Stil.

Vielen Dank, jede Hilfe wird sehr geschätzt.

Dies ist der Code, den ich zur Zeit

bin mit
add_action('genesis_loop', 'book_archive_page'); 
function book_archive_page() { 
echo '<div class="left-side">'; 
echo '<p>The following titles are sorted by author surnames.</p>'; 
?><div class="enter"><a href="#$term->name"><?php echo $term->name; ?> 
</div></a><?php 
$post_type = 'book'; 

// Get all the taxonomies for this post type 
$taxonomies = get_object_taxonomies(array('post_type' => $post_type) 
); 

foreach($taxonomies as $taxonomy) : 

    // Gets every "category" (term) in this taxonomy to get the 
respective posts 
    $terms = get_terms($taxonomy); 

    foreach($terms as $term) : ?> 

     <section class="category-section"> 

     <div class="row"> 
     <div class="span12"> 
      <a name="<?php echo $term->name; ?>"><h2 style="padding- 
    top: 300px; margin-top: -300px;"><?php echo $term->name; ?></h2> 
</a> 




     </div> 

     <?php 
     $args = array(
       'post_type' => $post_type, 
       'posts_per_page' => -1, //show all posts 
       'tax_query' => array(
        array(
         'taxonomy' => $taxonomy, 
         'field' => 'slug', 
         'terms' => $term->slug, 
        ) 
       ) 

      ); 
     $posts = new WP_Query($args); 

     if($posts->have_posts()): while($posts->have_posts()) : 
    $posts->the_post(); ?> 

      <div class="span4"> 

       <article class="inner-post clearfix"> 



        <div class="inner-content"> 

        <a href="<?php echo get_permalink(); ?>" title="Read <?php echo get_the_title(); ?>"><div class="author-archive-text"><?php the_field('author_full_name'); ?></div><div class="title-archive-book"><?php echo get_the_title(); ?></div></a> 


        </div> 
       </article> 


      </div> 

     <?php endwhile; endif; ?> 
     </div> 
     <hr> 
     </section> 

    <?php endforeach; 

endforeach; ?> 
<?php 
} 
echo '</div>'; 
+0

Es ist nicht klar, was Sie zu tun versuchen. Was möchten Sie auch das ACF-Feld vergleichen? Was ist "Jane Austen" - ein Seitentitel/Begriff/ACF-Feld? – FluffyKitten

+0

Die Seite besteht aus benutzerdefinierten Post-Typen "Bücher" und dann habe ich ein benutzerdefiniertes Feld "Autorenname", die automatisch den ersten Buchstaben des benutzerdefinierten Feldes "Autorenname" mit einer Taxonomie "a, b, c, d, .... ". Ich könnte überdenken, wie dies im Grunde tun, wenn das benutzerdefinierte Feld "Autorenname" mehr als einmal vorhanden ist, dann möchte ich das Feld Autorennamen in ein div eingewickelt werden, so dass ich Gruppen von Autor unterschiedlich stylen kann. –

+0

Hat die Antwort unten für Sie funktioniert oder benötigen Sie noch Hilfe? – FluffyKitten

Antwort

0

Wenn ich verstehe, was Sie richtig wollen, was Sie tun müssen, ist die „aktuelle“ Name des Autors in einer Variablen zu erfassen, und verwenden Sie es in Ihrem Schleife, um es mit dem nächsten Autorennamen zu vergleichen. Wenn es sich um einen anderen Autor handelt, beenden Sie den Wrapper des vorherigen Autors und starten Sie einen neuen Wrapper für den nächsten Autor.

$current_author = ""; // variable to store the current author 

$posts = new WP_Query($args); ?> 

<div class="author-wrapper"> <!-- start the wrapper div for the first author --> 

<?php if($posts->have_posts()): while($posts->have_posts()) : $posts->the_post(); ?> 

    <?php 
    // check if we have a new author 
    if (the_field('author_full_name') != $current_author) { 
     // update current_author var to make the new author the current one 
     $current_author = the_field('author_full_name'); 
     // close the previous author's wrapper and start a new one 
     ?> 
     </div> 
     <div class="author-wrapper"> 
    <?php } ?> 

     <div class="span4"> 
      <article class="inner-post clearfix"> 
       <div class="inner-content"> 

       <a href="<?php echo get_permalink(); ?>" title="Read <?php echo get_the_title(); ?>"><div class="author-archive-text"><?php the_field('author_full_name'); ?></div><div class="title-archive-book"><?php echo get_the_title(); ?></div></a> 

       </div> 
      </article> 

     </div> 
<?php endwhile; endif; ?> 

</div> <!-- end the wrapper div for the last author --> 
Verwandte Themen