问题描述
我一直在试图弄清楚如何获取当前页面的特定分类术语,以便随后可以在页面上填充具有相同术语的其他帖子类型的查询。
基本上:
-
第 1 页有分类术语 – 教育政策
-
page.php 有四个部分:
-
标准循环输出页面,但后来有三个后续查询
-
循环为具有分类术语 – 教育政策的事件
-
循环了具有分类术语 – 教育政策的报告
-
为具有分类术语教育政策的人们循环
-
我做了页面特定的模板,我可以把这个术语硬编码到额外的循环中,但是我需要弄清楚如何动态地执行 (原来应该是四到五页现在是四十或五十) 。
我发现了一些类似的问题,但是没有一个可以通过实现找到我的方式。
Get current page’s taxonomy 在实际被问到的方面有点令人困惑。
Get the term id belonging to custom taxonomy on a custom single-post-type.php template page
我希望这是有道理的,非常感谢。
最佳解决方案
嗯,如果你正确地为”page” 对象类型注册了一个分类法,然后将这个分类法的术语分配给一个页面… 我相信你可以通过以下方式访问分类法和术语段落:
get_query_var( 'taxonomy' )
get_query_var( 'term' )
如果您使用 print_r($wp_query)
,则会在生成显示当前页面时看到所有参数。使用上面的代码,您正在从 $wp_query
访问这些参数。
然后用完整的信息获取术语对象,可以使用 get_term_by 函数,就像这样
$term = get_term_by( 'slug', get_query_var('term'), get_query_var('taxonomy') );
echo $term->name;
这将打印该术语的”nice” 名称。
我相信如果您使用 get_query_var('term')
或 $term->slug
(获取术语对象后),您可以在所有其他查询中使用该插件。
希望有帮助。我从来没有为页面使用分类。让我知道你怎么样
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。