我有自定义帖子(" artigo"),此CPT有一个注册分类(" artigo_eixo"),其中有3个注册条款。
我想在该页面中显示一个侧边栏,列出所有条款 ,但当前条款除外, 在列出所有条款的页面中具有该术语(http://localhost/mytaxonomy/current_term/)
的帖子但是,我无法从查询中排除当前字词。
我试图获取分类术语列表,但从此列表中排除某个术语。我试图遵循代码示例,但我没有成功,使用get_terms()
或WP_Term_query()
。
有3个术语,ID为13,14,15。没有包含这些ID的帖子或CPT项目。
我刚刚测试了get_queried_object_id()
,它似乎正在返回所显示术语的正确术语ID - 也就是说,如果我正在查看ID为13的术语的URL,则该函数返回13,并且等等。
它也不能使用硬编码值,无论是字符串,整数还是任何这些类型的数组。都没有赢得工作:
'exclude' => 14
'exclude' => '14'
'exclude' => array(14)
'exclude' => array('14')
PHP或WP调试日志没有显示错误。
if (is_tax( 'artigo_eixo' )) {
$current_eixo = get_queried_object_id();
$args = array(
'taxonomy' => 'artigo_eixo',
'exclude' => $current_eixo
);
$eixos = get_terms( $args );
if (is_tax( 'artigo_eixo' )) {
$current_eixo = get_queried_object_id();
$args = array(
'taxonomy' => array('artigo_eixo'),
'exclude' => $current_eixo
);
$eixos = new WP_Term_Query( $args );
$eixos = $eixos->terms;
答案 0 :(得分:0)
原来有一个函数钩住了过滤器list_terms_exclusions
,并且返回是一个逻辑错误的条件。我修复了它,现在查询排除这个术语按预期工作。