如何在Undercores Wordpress主题中创建第二个侧边栏


How to create a second sidebar in Underscores Wordpress theme?

我在Undercores(_s(Wordpress主题中创建和显示第二个侧边栏时遇到问题。我在网上搜索了一遍又一遍,但没有找到任何合适的解决方案(甚至在StackOverflow上也发现了类似的问题,但答案似乎是创建一个有条件的侧边栏,而不是第二个独立的侧边栏(。

我确实知道如何在WordPress中创建边栏(尽管我还没有那么丰富的经验(,但这次我似乎错过了一些东西,因为边栏只是没有显示在网站上。如果有人能看一看我的代码并为我指明正确的方向,我将不胜感激。


以下是我迄今为止所做的步骤以及我的代码:

步骤1:

functions.php中注册一个新的侧边栏,所以现在它们的代码看起来是这样的:

function theme_name_widgets_init() {
    register_sidebar( array(
        'name'          => __( 'Sidebar', 'theme-name' ),
        'id'            => 'sidebar-1',
        'description'   => '',
        'before_widget' => '<aside id="%1$s" class="widget %2$s">',
        'after_widget'  => '</aside>',
        'before_title'  => '<h1 class="widget-title">',
        'after_title'   => '</h1>',
    ) );
    register_sidebar( array(
        'name'          => __( 'Right Navigation', 'theme-name' ),
        'id'            => 'sidebar-2',
        'description'   => '',
        'before_widget' => '<aside id="%1$s" class="widget %2$s">',
        'after_widget'  => '</aside>',
        'before_title'  => '<h1 class="widget-title">',
        'after_title'   => '</h1>',
    ) );
}
add_action( 'widgets_init', 'theme_name_widgets_init' );

看起来这部分不是问题所在,因为新的侧边栏出现在WordPress面板中,我可以向它添加小部件

步骤2:

使用以下代码创建sidebar-2.php文件:

<?php
if ( ! is_active_sidebar('sidebar-2') ) {
    return;
}
?>
<nav id="site-navigation" class="main-navigation" role="navigation">
    <?php dynamic_sidebar( 'sidebar-2' ); ?>
</nav><!-- #site-navigation -->

步骤3:

将这段代码添加到我希望显示第二个侧边栏的任何位置(例如,添加到index.phpsingle.php等文件中(:

<?php get_sidebar(2); ?>

你知道我可能做错了什么,或者我错过了什么吗?

和往常一样,我在发布这个问题大约一分钟后偶然发现了问题所在(尽管之前我一直在思考这个问题(。

这是一个愚蠢的小错误,破坏了一切:我用新的侧边栏(sidebar-2.php(错误地命名了文件(末尾有一个额外的空间(。除此之外,代码还可以(因为它在我重新命名文件后正确显示了侧边栏(。

很抱歉耽误了你的时间,希望如果有人需要在Undercores中创建第二个侧边栏,这将在未来对他们有所帮助:(

<?php dynamic_sidebar( 'sidebar-2' ); ?> 

将输出侧边栏内容。您是否已将边栏配置为包含CMS中的小部件?

同样值得一提的是,你要确保正确的PHP模板来输出侧边栏。

您很可能处于早期逃生状态。

如果目标侧边栏中没有任何活动的小部件,is_active_sidebar()将返回FALSE。

除此之外,代码还可以,应该可以工作。