2016-04-12 4 views
0

nicht sicher, das ist der beste Weg, um es zu beschreiben, aber hier ist, was passiert ist (und ich bin sicher, dass dies eine ziemlich einfache Sache zu sein hat, nur nicht sicher, wo sie suchen müssen):Wordpress PHP-Schleife - Archiv wird Looping die gleiche Anzahl von Malen wie Ergebnisse

Client verfügt über 10 Büros so einen Standort für diese Jobs angeben, ich bin das Advanced Custom Fields-Plugin mit einer benutzerdefinierten Post-Typ. Mein Code scheint zu funktionieren (d. H., Es zieht die entsprechenden Jobs nach Ort), aber es wird der Artikel so oft wiederholt wie die Ergebnisse. Ich habe 3 Jobs dort, so dass es den ganzen Satz von Ergebnissen 3 Mal wiederholt. Wenn ich einen löschen und fallen bis auf 2, es zweimal Schleifen etc. ich das folgende Beispiel aus der erweiterte benutzerdefinierte verwendeten Felder Website:

<?php 
// args 
$args = array(
    'numberposts' => -1, 
    'post_type'  => 'jobs', 
    'meta_key'  => 'location', 
    'meta_value' => 'akron' 
); 

// query 
$the_query = new WP_Query($args); 

?> 
<?php if($the_query->have_posts()): ?> 
    <h3>Akron Office</h3> 
    <ul> 
    <?php while($the_query->have_posts()) : $the_query->the_post(); ?> 
    <li><a href="<?php the_permalink(); ?>"> <?php the_title(); ?></a></li> 
    <?php endwhile; ?> 
    </ul> 
<?php endif; ?> 
<?php wp_reset_query(); // Restore global post data stomped by the_post(). ?> 

Ich glaube, ich bin nicht sicher, wo sie suchen müssen (ich könnte dies realisieren sei eher eine Plugin-Frage als eine PHP-Frage) und würde sich über jede Richtung freuen, die ihr zur Verfügung stellen könnt.

Sie können die problematische Seite hier sehen: http://www.knrlegal.com/jobs/

Antwort

0

Sie sollen die Post-Daten zurückzusetzen, nicht die Abfrage, wie hier angegeben: Class Reference/WP Query, in dem "Multiple Loops" Abschnitt.

 <?php 
    // args 
    $args = array(
     'numberposts' => -1, 
     'post_type'  => 'jobs', 
     'meta_key'  => 'location', 
     'meta_value' => 'akron' 
    ); 

    // query 
    $the_query = new WP_Query($args); 

    ?> 
    <?php if($the_query->have_posts()): ?> 
     <h3>Akron Office</h3> 
     <ul> 
     <?php while($the_query->have_posts()) : $the_query->the_post(); ?> 
     <li><a href="<?php the_permalink(); ?>"> <?php the_title(); ?></a></li> 
     <?php endwhile; ?> 
     </ul> 
    <?php 
    /* Restore original Post Data 
    * NB: Because we are using new WP_Query we aren't stomping on the 
    * original $wp_query and it does not need to be reset with 
    * wp_reset_query(). We just need to set the post data back up with 
    * wp_reset_postdata(). 
    */ 
    wp_reset_postdata(); 
    ?>  
    <?php endif; ?>