帖子有类别特定的侧边栏与小工具

时间:2014-06-25 作者:user3773610

我正在使用Divi主题来构建我的网站。我的客户希望新闻和博客页面在同一个网站上,所以我使用了类别。

我的问题是如何实现特定于类别(即新闻和博客)的侧栏?默认情况下,POST使用默认的侧栏。我将默认侧栏设置为我的博客页面。

我还安装了widget逻辑插件。请帮我用插件解决这个问题。

2 个回复
SO网友:TheDeadMedic

创建child theme (如果你还没有)和register two sidebars:

function wpse_151695_register_sidebars() {
    register_sidebar(
        array(
            \'name\' => \'News\',
            \'id\'   => \'sidebar-news\',
        )
    );

    register_sidebar(
        array(
            \'name\' => \'Blog\',
            \'id\'   => \'sidebar-blog\',
        )
    );
}

add_action( \'widgets_init\', \'wpse_151695_register_sidebars\' );
然后在你的sidebar.php:

if ( is_singular() ) {
    // For single posts, show the sidebar relevant to the category it\'s assigned to.
    if ( has_category( \'news\' ) )
        dynamic_sidebar( \'news\' );
    elseif ( has_category( \'blog\' ) )
        dynamic_sidebar( \'blog\' );
} elseif ( is_category() ) {
    if ( is_category( \'news\' ) )
        dynamic_sidebar( \'news\' );
    elseif ( is_category( \'blog\' ) )
        dynamic_sidebar( \'blog\' );  
}

SO网友:SierraTR

如果您不想在函数中使用PHP编码。您可以尝试从WPMUDEV添加自定义侧栏插件。它将使您能够生成任意数量的特定侧栏,然后在页面或帖子上指定要与该内容一起显示的侧栏。小部件与任何侧栏一样添加到外观/小部件仪表板中。

然后删除Display Widgets插件可能是一个好主意,因为这两个插件可能会相互冲突,或者只会使事情变得更复杂。

据我所知,Display Widgets插件允许在现有侧栏中显示或隐藏小部件,而Custom sidebars插件允许生成任意数量的侧栏,并在特定页面/帖子上显示它们,同时使用您放置在侧栏中的任何小部件。

希望这有帮助。

结束

相关推荐

is_active-sidebar loop

因此,我有4个小部件,它们位于大3列中,当它们不活动时,我会放置一个占位符作为用户指南,以便用户知道在哪里放置什么。我确实成功地计算出了is\\u active,但它原来是一个很长的代码,我想知道是否有办法缩短它。从available-course-list-1到-4的小部件<?php if ( is_active_sidebar( \'available-course-list-1\' ) ) : ?> <div class=\"large-3 medium-3 col