2017-01-12 6 views
-1

新しいが、プログラミングには含まれていません。私はこれを呼んでいるときに問題があります。Wordpress - category.phpとfunction.phpの同じクエリですが、異なる結果を返します

$args = array(
    'suppress_filters' => true, 
    'post_type' => 'post', 
    'posts_per_page' => 20, 
    'cat' => 5, 
); 

$loop = new WP_Query($args); 

をそしてループを行う、私はcategory.phpページに乗るいけないfunction.phpページ内の専用のクエリにいくつかの結果を得ます。

私は何かが間違っているか間違っているのですか?

ANSWER:

見つかり答え - カテゴリページ上のクエリたpost_status =デフォルトで '公開' とfunction.phpでクエリがpost_status = '未来' '公開' = post_statusを持っていたOR OR post_status = 'draft' OR post_status = 'pending'をデフォルトとして使用するので、解決策は$ argsで明示的になり、 'post_status' => 'publish'を追加することになりました。

+0

あなたは何をしたいですか?詳しい情報を教えてください/ – htmlbrewery

+0

Ofcourse - 申し訳ありません!私がしたいのは、カテゴリページに最新の0〜10のカテゴリid 5を表示することです。それから、私はajaxで呼び出すボタンを追加してロードしました。そこではカテゴリID 5の11〜20のニュースを表示したい次回はload 21-30などをクリックします:-) –

+0

これを試してみましょう。これはtempleteを作って 'WP_Query'のリスト投稿(ajax機能付き)を作成した後に' <?php wp_reset_query(); ?> 'この関数はカスタムクエリをリセットします。 – htmlbrewery

答えて

0

答えを見つけました - カテゴリページのクエリはデフォルトでpost_status = 'publish'でしたが、function.phpのクエリはpost_status = 'publish' OR post_status = 'future' OR post_status = 'draft' OR post_status = 'pending'はデフォルトであるので、解決策は$ argsで明示的になり、 'post_status' => 'publish'を追加することでした。

関連する問題