您可以为多个分类归档设置单独的侧边栏吗?

时间:2012-05-07 作者:PaulB

我有一个使用多查询分类法归档的站点。

i、 e www.sitename。com/taxonomy1/taxonomy2/taxonomy3

是否有插件或方法为每个查询的分类法存档创建专用侧栏?

基本上,将有1000个左右的档案,我希望能够为每个档案创建一个独特的侧栏。这可能吗?

提前感谢

保罗

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

我很幸运使用foreach循环动态创建了侧栏。您可以在函数中执行类似的操作(未测试)。php文件:

$my_terms = get_terms( \'my_taxonomy_name\' );
if( ! is_wp_error( $my_terms ) ) {
    foreach( $my_terms as $term ) {
        register_sidebar(
            \'name\' => $term->name . \' Archive Sidebar\',
            \'id\' => \'archive_sidebar_\' . $term->term_id
        );
    }
}
然后,在您的taxonomy-my\\u taxonomy\\u name中。php模板文件,您可以使用类似这样的内容(未测试)来获取提要栏(从this answer):

<?php
$term_slug = get_query_var( \'term\' );
$taxonomy_name = get_query_var( \'taxonomy\' );
$current_term = get_term_by( \'slug\', $term_slug, $taxonomy_name );
dynamic_sidebar( \'archive_sidebar_\' . $current_term->term_id );
?>
说到这里,我怀疑这是否是个好主意。假设生成1000个边栏不会对WordPress的性能产生负面影响(这是一个很大的假设),那么后端用户的UI将非常糟糕。我无法想象找到我真正想要使用的边栏。

虽然这仍然会令人困惑,但我鼓励您使用Widget Logic 或者,如果您有不懂代码的用户,Widget Logic Visual.

或者,放弃widgets边栏的全部想法,只需使用get_query_var() 找出模板中的术语存档,然后在模板文件中执行一些上下文感知代码。

SO网友:wordpress guide
结束

相关推荐

Help Understanding Taxonomy

好的,我需要一些帮助来理解分类法。我知道它们是什么,我知道如何制作,但我不知道它们到底有什么用处。假设我有一个视频游戏评论的自定义帖子类型,我想按游戏控制台来分隔评论。XBox 360、PS3和WII。所以,据我所知,这将是分类法的一个很好的用途。我可以制作一个名为“视频游戏”的分类法,并对XBox 360、PS3和WII的“子类别”使用层次结构功能。好的,我明白了,但是进行分类和只使用类别和子类别有什么区别呢?分类法的优点是什么?我只是看不出有什么区别。谁能给我解释一下吗?