Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 如何仅在博客列表页面上列出特定类别的帖子(只有一个类别,比如cat id=5)?_Wordpress_Post_Hook - Fatal编程技术网

Wordpress 如何仅在博客列表页面上列出特定类别的帖子(只有一个类别,比如cat id=5)?

Wordpress 如何仅在博客列表页面上列出特定类别的帖子(只有一个类别,比如cat id=5)?,wordpress,post,hook,Wordpress,Post,Hook,我只需要在博客列表页面上列出特定类别的文章,比如类别id 5。我需要它从plugins或function.php文件中执行。我不想更改模板文件,我认为blog列表在index.php上 我使用了如下的parse_查询钩子。但也会影响其他地方。菜单栏不见了。请帮帮我。多谢各位 add_filter( 'parse_query', 'pp_posts_filter' ); function pp_posts_filter( $query ){ $query->query_va

我只需要在博客列表页面上列出特定类别的文章,比如类别id 5。我需要它从plugins或function.php文件中执行。我不想更改模板文件,我认为blog列表在index.php上

我使用了如下的parse_查询钩子。但也会影响其他地方。菜单栏不见了。请帮帮我。多谢各位

 add_filter( 'parse_query', 'pp_posts_filter' );

  function pp_posts_filter( $query ){

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

要使查询更改只针对主查询,而不是辅助查询,如菜单或边栏等。请使用主查询功能,即

 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' );
}

您需要为主查询添加条件,即非常感谢您。太棒了。你在RockyPrajapati工作了。快乐编码!:)您可以将此标记为已解决。