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

标签 php wordpress themes wordpress-theming sidebar

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

<?php get_sidebar(2); ?>

知道我可能做错了什么或遗漏了什么吗?

最佳答案

一如既往,我碰巧在发布这个问题后大约一分钟发现了问题所在(尽管之前我一直在思考这个问题)。

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

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

关于php - 如何在 Underscores Wordpress 主题中创建第二个侧边栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25019549/

相关文章:

php - 如何使用 MySQL 记录 id 来命名图像?

php - 使用 php 和 mysql 的 ajax

javascript - 如何将<a>改为<div>?

php - 在wordpress上将标题与缩略图分开

javascript - ReactJS - 将发布数据传递到服务器

php - 以查询形式回显数组值

wordpress - 在文件夹 blog 的同一域中安装 Wordpress 和 Laravel

php - Wordpress 主题错误 "Fatal error: Cannot re-assign auto-global variable _POST"

php - 多个 wordpress 可以从一个数据库中获取信息吗?

syntax-error - Visual Studio Code 主题 - 更改 CSS 语法错误字体颜色