个性化阅读
专注于IT技术分析

如何在Underscores WordPress主题中创建第二个侧边栏?

我在下划线(_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.php或single.php等文件中):

<?php get_sidebar(2); ?>

有什么想法我可能做错了什么或我错过了什么?


#1


就像往常一样, 我在发布此问题后大约一分钟就发现了问题所在(即使以前我已经将头缠了好一阵子)。

这是破坏所有内容的那些愚蠢的小错误之一:我用新的补充工具栏(sidebar-2.php)命名了错误的文件名(末尾有多余的空格)。除此之外, 事实证明代码还可以(因为在我重命名文件后, 它可以正确正确显示侧边栏)。

很抱歉花了你的时间, 希望如果有人需要在Underscores中创建第二个侧边栏, 将来对他们有帮助:)


#2


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

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

确保你正确使用正确的PHP模板以输出边栏也是值得的。


#3


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

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

除此之外, 代码还可以, 并且可以正常工作。

赞(0)
未经允许不得转载:srcmini » 如何在Underscores WordPress主题中创建第二个侧边栏?

评论 抢沙发

评论前必须登录!