类别应用于页面,在搜索查询后创建多个面包屑条目(在翻译后的网站上)

时间:2020-09-29 作者:Efstef

我会尽力解释发生的问题。有用信息:该网站是最新的(插件、WordPress、PHP)。我使用高级主题,并使用WPML进行翻译。

我在我的子主题中应用了两个函数,可以对页面进行分类。

我知道这个功能只适用于WordPress的博客系统,但目前我可以使用它在一个类别下添加多个页面并获得结果。

代码如下:

<?php 
// add tag and category support to pages
function tags_categories_support_all() {
  register_taxonomy_for_object_type(\'post_tag\', \'page\');
  register_taxonomy_for_object_type(\'category\', \'page\');  
}

// ensure all tags and categories are included in queries
function tags_categories_support_query($wp_query) {
  if ($wp_query->get(\'tag\')) $wp_query->set(\'post_type\', \'any\');
  if ($wp_query->get(\'category_name\')) $wp_query->set(\'post_type\', \'any\');
}

// tag and category hooks
add_action(\'init\', \'tags_categories_support_all\');
add_action(\'pre_get_posts\', \'tags_categories_support_query\');

?>
问题开始于网站的翻译版本。当我提到顶部时,我使用WPML进行翻译。因此,当我更改网站的英文版本并进行wp查询以获取特定类别的结果时,我会在面包屑中显示多个条目。

例如

主页(>);类别1>;类别1>;类别1>;类别1

我注意到,category1重复是基于查询将获取多少结果。

换句话说,如果我在9页中应用了category1,那么面包屑将如下所示:

主页(>);类别1>;类别1>;类别1>;类别1>;类别1>;类别1>;类别1>;类别1>;类别1。

我试图找出一种调试它的方法。我还联系了主题作者和WPML,但我看到了乒乓球游戏之间的责任。

因此,如果可以的话,我会尝试自己调试它。

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

经过一段时间的WPML支持和对主题核心文件的调试/挖掘,我找到了面包屑的创建位置。我在支持中指出了这一点,并将分类法添加到页面上,也添加到过滤查询中。

我使用的是默认的WordPress查询,我知道页面上的分类法不是WordPress中的默认用法。此外,与WPML和表格存在冲突;“分类学”;重组

如果其他人遇到此问题或类似问题,您必须将WPML版本更新到4.4.4及以上版本。

相关推荐

Get post categories

我想根据帖子类别做一个过滤器。我试图在数据类别属性中添加类别名称,但似乎不起作用。这就是我所尝试的:<article id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?> data-category=\"<?php $category_detail=get_the_category(); foreach($category_detail as $cd){ $cd->cat_name;}?>\">&#