首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在下划线Wordpress主题中创建第二个侧边栏?

如何在下划线Wordpress主题中创建第二个侧边栏?
EN

Stack Overflow用户
提问于 2014-07-29 23:48:50
回答 3查看 2.6K关注 0票数 4

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

我确实知道如何在WordPress中创建侧边栏(尽管我还不是很有经验),但这一次我似乎遗漏了一些东西,因为侧边栏不会显示在网站上。如果有人能看一下我的代码并给我指明正确的方向,我将不胜感激。

到目前为止,我在代码中执行了以下步骤:

步骤1:

functions.php中注册一个新的侧边栏,所以现在这两个侧边栏的代码如下所示:

代码语言:javascript
复制
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文件:

代码语言:javascript
复制
<?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等文件中):

代码语言:javascript
复制
<?php get_sidebar(2); ?>

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

EN

回答 3

Stack Overflow用户

发布于 2014-07-30 00:09:59

就像往常一样,在发布这个问题一分钟后,我碰巧发现了哪里出了问题(尽管之前我已经对这个问题考虑了很长时间)。

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

很抱歉占用了您的时间,希望如果有人需要在下划线中创建第二个侧边栏,这将在未来帮助他们:)

票数 2
EN

Stack Overflow用户

发布于 2014-07-29 23:59:30

代码语言:javascript
复制
<?php dynamic_sidebar( 'sidebar-2' ); ?> 

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

同样值得确保您是在正确的PHP模板,以输出侧栏。

票数 1
EN

Stack Overflow用户

发布于 2014-07-29 23:59:54

你最有可能陷入早期的逃生状态。

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

除此之外,代码是正常的,应该可以工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25019549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档