2016-07-14 8 views
0

Meine Meta-Abfrage funktioniert nicht, und ich verstehe nicht warum. Ich habe den Post-Status (Archiv) in einer Variablen und es werden keine Posts ohne diesen Post-Status angezeigt.WP_query, Meta-Abfrage nicht wie funktioniert nicht

function getNewsListings($numberOfListings, $status) { 
    $args = array(
     'post_type'  => 'news', 
     'posts_per_page' => $numberOfListings, 
     'meta_query'  => array(
       'key'  => 'post_status', 
       'value'  => $status, 
       'compare' => 'NOT LIKE' 
      ) 
    ); 
    $listings = new WP_Query($args); 
    if ($listings->found_posts > 0) { 
     echo '<ul id="news_list" style="list-style-type:none">'; 
     while ($listings->have_posts()) { 
      $listings->the_post(); 
      $listItem = '<li id="news"><a href="' . get_permalink() . '">'; 
      $listItem .= get_the_title() .'</a><hr></li>'; 
      echo $listItem; 
     } 
     echo '</ul>'; 
     wp_reset_postdata(); 
    } else { 
     echo '<p>No news found</p>'; 
    } 
} 
+0

Können Sie bitte die "nicht arbeiten" erarbeiten? Für eine gegebene Eingabe (zB "Ich habe 7 Beiträge vom Typ Nachrichten") Was ist die Ausgabe, die Sie sehen? Welches war das, was du erwartet hast? – malarres

+0

Ich sehe alle Posts mit post_type = "news", aber ich werde keine Posts anzeigen, wo man news ohne post_status = $ status bekommt –

Antwort

0

Versuchen unter Code, um den Beitrag zu zeigen, dass post_type Nachrichten haben.

function getNewsListings($numberOfListings, $status) { 
    $args = array(
     'post_type'  => 'news', 
     'posts_per_page' => $numberOfListings, 
     'post_status' => $status 
    ); 
    $listings = new WP_Query($args); 
    if ($listings->found_posts > 0) { 
     echo '<ul id="news_list" style="list-style-type:none">'; 
     while ($listings->have_posts()) { 
      $listings->the_post(); 
      $listItem = '<li id="news"><a href="' . get_permalink() . '">'; 
      $listItem .= get_the_title() .'</a><hr></li>'; 
      echo $listItem; 
     } 
     echo '</ul>'; 
     wp_reset_postdata(); 
    } else { 
     echo '<p>No news found</p>'; 
    } 
} 
Verwandte Themen