我正在一个大型网站上工作,我需要在侧边栏中创建不同页面的各种列表。我使用名为“Page Categories”(Page\\u category)的Pods插件注册了一个自定义分类法,并使用WP\\u查询成功生成了所需的页面列表。到目前为止,一切顺利。
我陷入困境的地方:这些列表中的每一个都包含在一个模板部分中,需要有条件地包含在提要栏中。php基于当前页面类别的值。
我所拥有的不起作用的东西:
<?php
$display = wp_get_post_terms($post->ID, \'page_category\',
array(\'fields\'=>\'slug\'));
switch($display){
case \'dining-area-1\':
get_template_part(\'sidebar\', \'dining-one\');
break;
case \'dining-area-2\':
get_template_part(\'sidebar\', \'dining-two\');
break;
}
?>
这样做的结果是,无论页面是否与该类别关联,第一种情况都会在每个页面上生效。
有什么想法吗?
最合适的回答,由SO网友:DavidBrown 整理而成
@米洛完全正确。。。问题是我没有得到要比较的字符串。解决方案实际上来自here.
在我的场景中,这最终是什么样子的:
<?php
if(has_term(\'dining-1\', \'page_category\', $post->ID)){
get_template_part(\'sidebar\', \'dining-one\');
}
elseif(has_term(\'dining-2\', \'page_category\', $post->ID)){
//etc.
}
?>