将多个类别合并为一个URL插件

时间:2012-11-03 作者:Chris

我有一个Wordpress网站,有20多个类别。为了便于导航,我想减少类别,但同时保留原始类别。换句话说,我希望能够使用一个类别组或虚拟slug查询多个类别。

示例类别:

/category/apples/
/category/pears/
/category/bananas/
我希望能够使用唯一的url slug查询所有三个:

/category/fruit/
但正如我所说,应该仍然有可能去I.e。/category/bananas/

我知道可以使用我想要的方式查询多个类别/category/apples,bananas,pears/ 但这不是一个优雅的解决方案。

是否可以使用插件或甚至使用重写来进行这种虚拟分组?

非常感谢您的提示和建议!

2 个回复
SO网友:Virgil Dupras

您可以使用pre_get_posts 在里面functions.php:

function add_all_fruits_to_category($query) {
    $catnames = $query->get(\'category_name\');
    if ($catnames == \'fruits\') {
        $query->set(\'category_name\', $catnames . \',bananas,apples,pears\');
    }
}
add_action(\'pre_get_posts\', \'add_all_fruits_to_category\');

SO网友:Pekka

WordPress的内置子类别功能不能解决这个问题吗?

 + fruit
  + bananas
  + apples
  + pears
你会把所有的水果

/categories/fruit
还包括特定类别

/categories/fruit/bananas
要添加子类别,只需选择fruit 作为每个子级的父类别。

结束

相关推荐

如何在活动组织者插件中使用Get_Categories()

我想在选项卡中显示我的类别。除了我用Event Organiser创建的“即将到来的活动”,一切都很好http://wordpress.org/extend/plugins/event-organiser/), 未被视为正常类别,因此它们不会出现。本质上,get\\u categories()并没有返回事件类别。如何修复此显示器?$args = array(\'type\'=> \'post\', \'order\' => \'ASC\', \'hide_empty\' => 1 );&