在两个类别的搜索中,WordPress将第二个类别的标题保存在哪里?

时间:2015-08-13 作者:TomW

我使用以下查询风格,按两个类别筛选帖子:

http://www.brandx.com/topics/animals+blue/

它给出了动物类和蓝色类中所有帖子的列表。

我希望结果页面显示两个类别的名称,如“动物和蓝色”,作为摘录帖子列表的标题。

我的主题有一个显示类别标题的选项,它从single\\u cat\\u title()提取类别标题。但对于两类搜索,这仅给出两类中的第一类,如“动物”

我正试图找到一种方法来修改我的主题,以便在有第二个类别时也显示第二个类别。但我不知道Wordpress把这些信息放在哪里。

Wordpress是否将第二类的标题保存在任何位置?有没有办法从某处把它挖出来?有人能帮忙吗?非常感谢。

1 个回复
SO网友:TomW

好的,在“Debug This”插件的帮助下,我成功地找到了答案,并研究了“Beauty Taxonomy Filters”插件的编码。

据我所知,Wordpress只保存了第一个分类法和查询的第一个术语的完整详细信息(包括标题、ID和Slug)。

对于查询到的任何其他术语或分类,Wordpress只保存slug。

此信息位于$wp\\U查询中的信息栏中,可以按如下方式拉出:

$queried_taxonomies = $wp_query->tax_query->queries;
所有查询的分类法的slug将在以下位置找到:

    $queried_taxonomies[X][\'taxonomy\'];
其中X是分类法的编号,从0开始。

所有查询的术语的slug位于:

    $queried_taxonomies[X][\'terms\'][Y];
其中,X如上所述,Y是为该分类法查询的术语编号,从0开始。

因此,例如,如果查询是一个分类法的两个术语,则第二个术语的slug将位于:

$queried_taxonomies[0][\'terms\'][1];
如果您在两个分类法中分别查询一个术语,则第二个分类法和术语的slug将位于:

$queried_taxonomies[1][\'taxonomy\'];
$queried_taxonomies[1][\'terms\'][0];

结束

相关推荐

Custom taxonomy page template

我第一次在写我自己的wordpress主题。我用自定义分类法注册了一个新的帖子类型,但我无法按术语显示帖子。我复制了档案。php并将其重命名为taxonomy-[mycustomtaxonomy]。php并修改了几行。我保留了档案中的循环。php:<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <?php the_content(); ?> <?php