$QUERY_ARGS for循环只从“当前类别”获取帖子?

时间:2016-03-03 作者:Sandra Johansson

我遇到了麻烦,我不知道如何使我的自定义查询尊重我正在浏览的当前类别。

假设我属于“test1”类别,我有一个自定义查询循环:

$paged = ( get_query_var(\'paged\') ) ? get_query_var(\'paged\') : 1;   
$query_args = array( 
    \'post_type\' => \'post\',
    \'post_status\' => array(\'private\', \'publish\'),
    \'posts_per_page\' => 20,
    \'paged\' => $paged,
); 
$the_query = new WP_Query( $query_args );   
   if ( $the_query->have_posts() ) :     
       while ( $the_query->have_posts() ) : $the_query->the_post();
这将获取所有私有/发布的帖子,并在所有页面上显示它们,即使我正在浏览某个类别。。。。。如何添加一些与当前类别相关的自定义查询?

如果我添加cat\'=> \'1\', 并指定一个类别,它显然只获取我指定的类别。

我拼命尝试使用内部功能,例如:

$category = get_queried_object();
echo $category->term_id;
内部\'cat\'=> \'\', 但这显然行不通。我还尝试在数组中使用php if/else语句,希望能够根据我在网站上的浏览位置生成类别id,例如:

if (is_category(1)) { 
\'cat\' => \'1\', } else { \'cat\' => \'12\', }
我该如何着手解决这个问题?

1 个回复
最合适的回答,由SO网友:Sandra Johansson 整理而成

我最终使用内置的模板层次结构来解决这个问题。