2016-07-13 8 views
0

私のカスタム投稿ステータスなしで投稿を表示する必要があります(アーカイブまたはおすすめ)。しかし、私がpost_status!= .$statusと書いてもうまくいかず、すべての投稿が表示されます。WPは投稿ポスティングステータスを表示しません

私の悪い英語のために申し訳ありません。私は助けが必要です。

function getNewsListings($numberOfListings, $status) { 
    $listings = new WP_Query(); 
    $listings->query('post_type=news&post_status!=' . $status . '&posts_per_page=' . $numberOfListings ); 
    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

問合せは、if文と同じ意味での条件ではありません。あなたの '! 'はその文脈では無効です。 URL内のクエリ文字列と似ています。私が知る限り、あなたは "すべての_例外"を定義することはできません。 –

答えて

0

(あなたが望んでいないものをポストの状態を知っていれば、あなたが欲しいものを知っている必要があり、あなたは常にこの名前を持つことになりますので)ちょうどそのようループ内'post_status' => 'publish'を試してみてください。

$query = new WP_Query(array('post_status' => 'publish')); 

より多くの情報:

https://codex.wordpress.org/Class_Reference/WP_Query#Status_Parameters

+0

私はそれを理解しています。私は投稿なしですべての投稿を表示する必要があります。ここでは、ステータス実装の$ status –

+0

が実装されています(https://core.trac.wordpress.org/browser/tags/4.5.3/src/wp-includes/post.php#L0)それを作る方法はありません。ネガティブパラメータを持つタクソノミのように回避策を講じる必要があります:http://www.codeinwp.com/blog/getting-posts-wp_query-class/ –

関連する問題