显示当前分类的帖子

时间:2017-02-13 作者:egr103

所以我有一个自定义的Wordpresswp_query 内循环taxonomy.php 显示所有自定义帖子类型的帖子,按自定义元字段排序(start_date). 在此模板中,我有指向使用相同页面模板的每个分类法子级的链接。This does not work 使用我的循环代码,如下所示。

我希望这个循环能够检测当前的分类法,并仅显示该分类法中的帖子。例如,我的设置如下:

主题(分类名称)诗歌政治环境等http://example.com/themes 我想显示此分类法中的所有帖子,但当您访问http://example.com/themes/poetry 例如,我只想显示诗歌帖子。

Here\'s my loop:

$today = date(\'Ymd\');

$term = get_term_by( \'slug\', get_query_var( \'term\' ), get_query_var( \'taxonomy\' ) );

$args = array (
  \'post_type\' => \'whatson\',
  \'meta_query\' => array(
    array(
        \'key\' => \'start_date\',
        \'compare\' => \'>=\',
        \'value\' => $today,
    )
  ),
  \'tax_query\' => array(
        array(
            \'taxonomy\' => $term->name,
            \'field\'    => $term->slug
        ),
    ),
  \'meta_key\' => \'start_date\',
  \'orderby\' => \'meta_value\',
  \'order\' => \'ASC\',
);
$query = new WP_Query( $args );


if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post();
此代码会破坏模板,当我打印查询以查看返回的内容时,会得到以下结果:

Array ( 

[post_type] => whatson 

[meta_query] => Array ( [0] => Array ( [key] => start_date [compare] => >= [value] => 20170213 ) ) 

[tax_query] => Array ( [0] => Array ( [taxonomy] => Politics [field] => politics ) ) 

[meta_key] => start_date 

[orderby] => meta_value 

[order] => ASC 
)

1 个回复
最合适的回答,由SO网友:AddWeb Solution Pvt Ltd 整理而成

从上面的查询中,似乎您在查询的tax\\u查询中传递了错误的参数。

应如下所示:

\'tax_query\' => array(
       array(
           \'taxonomy\' => \'Themes\', //Your custom taxonomy slug
           \'field\'    => \'slug\', // this should be field name, not field value
           \'terms\'                => array(\'environment\'),
           \'include_children\' => true,      
               \'operator\' => \'IN\'  
       ),
   ),
希望这对你有帮助。

相关推荐

Increase offset while looping

我正在编写一个自定义帖子插件,它将自定义帖子分组显示为选项卡。每组4个岗位。是否可以编写一个偏移量随每次循环而增加的查询?因此,结果将是:-第一个查询显示从1到4的帖子-第二个查询显示从5到8的帖子-第三个查询显示从9到12的帖子等。 <div class=\"official-matters-tabs\"> <?php $args = array(\'post_type\' => \'official-matters\', \'showp