2017-07-25 6 views
0

私は特定のカテゴリの投稿をブログのリストページにのみリストアップする必要があります。カテゴリid 5を考えてみましょう。プラグインやfunction.phpファイルから行う必要があります。私はテンプレートファイルを変更したくない、私はブログの一覧がindex.phpにあると思う。特定のカテゴリの投稿を一覧表示する方法(1つのカテゴリでは、cat id = 5と言うことができます)は、ブログの一覧ページでのみ可能ですか?

次のようにparse_queryフックを使用しました。しかし、他の場所にも影響があります。メニューバーは表示されません。私を助けてください。ありがとうございました。

add_filter('parse_query', 'pp_posts_filter'); 

    function pp_posts_filter($query){ 

    $query->query_vars['cat'] = 5; 
    } 
+0

すなわちis_main_query機能を使用して、メインクエリに特定の変更するには:// codex.wordpress.org/Function_Reference/is_main_query – Mohsin

答えて

1

クエリはあなたがメインクエリすなわちhttpsのための条件を追加する必要があるなどのメニューやサイドバーのようなだけではなく、二次のものが

add_action('pre_get_posts', 'foo_modify_query_exclude_category'); 
function foo_modify_query_exclude_category($query) { 
    if (! is_admin() && $query->is_main_query() && ! $query->get('cat')) 
     $query->set('cat', '-5'); 
} 
+0

ありがとう、モシン。それは素晴らしいです。働いた –

+0

あなたがそれを稼いでうれしい@RockyPrajapati。ハッピーコーディング! :)あなたは解決済みとマークすることができます。 – Mohsin

関連する問題