我在下划线 (_s) Wordpress 主题中创建和显示第二个侧边栏时遇到问题。我在网上搜索了一遍又一遍,但没有真正找到任何合适的解决方案(甚至在 StackOverflow 上找到了 a similar problem,但答案似乎是创建一个条件侧边栏而不是第二个独立侧边栏)。
我确实知道如何在 WordPress 中创建侧边栏(尽管我还没有那么多经验),但这次我似乎遗漏了一些东西,因为侧边栏只是没有显示在网站上。如果有人可以查看我的代码并为我指明正确的方向,我将不胜感激。
这些是我到目前为止执行的步骤以及我的代码:
第一步:
在 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 仪表板中,我可以向它添加小部件。
第二步:
使用以下代码创建一个 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 -->
第三步:
将这段代码添加到我希望显示第二个侧边栏的任何位置(例如添加到 index.php
或 single.php
等文件中):
<?php get_sidebar(2); ?>
知道我可能做错了什么或遗漏了什么吗?
最佳答案
一如既往,我碰巧在发布这个问题后大约一分钟发现了问题所在(尽管之前我一直在思考这个问题)。
这是破坏一切的那些愚蠢的小错误之一:我用新的侧边栏 (sidebar-2.php) 命名了错误的文件(末尾有一个额外的空间)。除此之外,事实证明代码没问题(因为它在我重命名文件后立即正确显示了侧边栏)。
很抱歉占用了您的时间,希望如果有人需要在 Underscores 中创建第二个侧边栏,这将在未来对他们有所帮助:)
关于php - 如何在 Underscores Wordpress 主题中创建第二个侧边栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25019549/