如何获取当前页面的分类术语并在模板中填充查询

时间:2011-06-19 作者:Christopher

我一直在努力找出如何获取当前页面的特定分类术语,以便随后可以在页面上填充对共享相同术语的其他帖子类型的查询。

基本上:

第1页有分类术语-教育政策。php有四个部分:输出页面的标准循环,但随后有三个查询,用于循环具有分类术语-教育政策的事件,用于循环具有分类术语-教育政策的报告,用于循环具有分类术语-教育政策的人员,用于循环具有分类术语-教育政策的页面特定模板,我可以将术语硬编码到额外的循环中,但我需要弄清楚如何动态地完成它(原本应该是四页或五页,现在是四十页或五十页)。

我发现了一些类似的问题,但没有一个是我能够真正找到实现方法的。

Get current page's taxonomy就实际被问到的问题而言,这有点令人困惑。

Get the term id belonging to custom taxonomy on a custom single-post-type.php template page

我希望这是有意义的,非常感谢。

3 个回复
最合适的回答,由SO网友:dashaluna 整理而成

嗯,如果您为“页面”对象类型正确注册了分类法,然后将该分类法的术语分配给页面。。。我相信您可以通过以下方式访问分类法和术语slug:

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;
这将打印术语的“好”名称。

我相信如果你使用get_query_var(\'term\')$term->slug (在获得术语对象后)可以在所有其他查询中使用该slug。

希望这有帮助。我从未对页面使用过分类法。让我知道你进展如何。

SO网友:Varsha Dhadge

Just copy paste below code

这将打印当前页面分类名称(&P);说明(可选)

<?php 
   $tax = $wp_query->get_queried_object();
   echo \'\'. $tax->name . \'\';
   echo "<br>";
   echo \'\'. $tax->description .\'\'; 
?>

SO网友:ShoveItUpYour____

可能需要启用搜索才能启用分页

在声明自定义分类法时,应禁用搜索排除。

将\\u从\\u搜索中排除=>;错误的

这解决了我的问题。

结束

相关推荐

Custom Taxonomy Term Caching?

我有两种自定义帖子类型,“事件”和“机会”。它们共享一个自定义的层次分类法“位置”。我的客户添加了一些条款(美国(家长),然后是几个州(孩子))。我决定通过wp\\u insert\\u term添加其余的州来节省时间。这很有效!或者,看起来是这样。作为一名管理人员,这些条款对我来说很好。当我登录到一个“贡献者”帐户时,我可以去创建一个新的“机会”,所有的条件都如预期的那样显示出来。当要创建一个新的“事件”时,只会显示手工创建的术语。您可以通过“事件”在现场添加一个新术语,它在位置管理器中显示得很好。就好