仅在单个帖子上自定义边栏

时间:2013-09-02 作者:Bram Vanroy

我正在为新的213主题开发一个儿童主题,并试图在我的内容旁边添加一个侧栏(小部件区域)。我只想在single 职位。

我所做的:编辑单曲。php(并将其添加到我的子主题文件夹)如下所示:

get_header(); ?>

    <div id="primary" class="content-area">
        <div id="content" class="site-content" role="main">

            <?php /* The loop */ ?>
            <?php while ( have_posts() ) : the_post(); ?>

                <?php get_template_part( \'content\', get_post_format() ); ?>

                <?php get_sidebar(\'sidebar-3\'); ?> <!-- DOESN\'T WORK -->
                <!-- /END of sidebar-aside-content -->
                <?php twentythirteen_post_nav(); ?>
                <?php comments_template(); ?>

            <?php endwhile; ?>

        </div><!-- #content -->
    </div><!-- #primary -->

<?php get_sidebar(); ?>
<?php get_footer(); ?>
并在函数中注册了侧栏。php,例如:

function mobiel_informatie_widgets_init() {
    register_sidebar( array(
        \'name\'          => __( \'Sidebar next to content\', \'twentythirteen\' ),
        \'id\'            => \'sidebar-3\',
        \'description\'   => __( \'Wordt naast een single post weergegeven.\', \'twentythirteen\' ),
        \'before_widget\' => \'<aside id="%1$s" class="widget %2$s">\',
        \'after_widget\'  => \'</aside>\',
        \'before_title\'  => \'<h3 class="widget-title">\',
        \'after_title\'   => \'</h3>\',
    ) );
}
add_action( \'widgets_init\', \'mobiel_informatie_widgets_init\' );
问题是,我可以在外观>>小部件中看到这个小部件区域,但无论我添加什么,模板中都不会显示任何内容。我猜我是做错了name 参考,但docs 在我看来,这一点还不太清楚。

编辑1:

以下是一些图片来说明我的问题:

我单曲的代码。php

The code of my single.php

WP中的小部件工作正常

The widget in WP, works fine

输出——不输出任何内容。在/END 议论

The output -- nothing is outputted

我能想到的唯一一件事是,为什么这行不通,是因为与父主题(二十三)冲突。它有两个边栏,用函数编写。php,如下所示:

/**
 * Registers two widget areas.
 *
 * @since Twenty Thirteen 1.0
 *
 * @return void
 */
function twentythirteen_widgets_init() {
    register_sidebar( array(
        \'name\'          => __( \'Main Widget Area\', \'twentythirteen\' ),
        \'id\'            => \'sidebar-1\',
        \'description\'   => __( \'Appears in the footer section of the site.\', \'twentythirteen\' ),
        \'before_widget\' => \'<aside id="%1$s" class="widget %2$s">\',
        \'after_widget\'  => \'</aside>\',
        \'before_title\'  => \'<h3 class="widget-title">\',
        \'after_title\'   => \'</h3>\',
    ) );

    register_sidebar( array(
        \'name\'          => __( \'Secondary Widget Area\', \'twentythirteen\' ),
        \'id\'            => \'sidebar-2\',
        \'description\'   => __( \'Appears on posts and pages in the sidebar.\', \'twentythirteen\' ),
        \'before_widget\' => \'<aside id="%1$s" class="widget %2$s">\',
        \'after_widget\'  => \'</aside>\',
        \'before_title\'  => \'<h3 class="widget-title">\',
        \'after_title\'   => \'</h3>\',
    ) );
}
add_action( \'widgets_init\', \'twentythirteen_widgets_init\' );

2 个回复
最合适的回答,由SO网友:cybmeta 整理而成

除了wordpresser应答之外,您还可以调用以获取\\u提要栏(“sidebar-aside-content”);仅在要显示侧栏的模板文件中。例如,如果您包括

<?php get_sidebar(\'sidebar-aside-content\'); ?> 
在“theme\\u folder/single.php”文件中,侧边栏将仅在单个帖子中显示。

例如在函数中。php:

//Register your sidebar
add_action( \'widgets_init\', \'my_widgets_init\' );
function my_widgets_init() {
    register_sidebar( array(
    \'name\' => __( \'The title of my sidebar\', \'curioso\' ),
    \'id\' => \'sidebar-mysidebar\',
    \'description\' => \'An optional widget area for my sidebar\',
    \'before_widget\' => \'<div id="%1$s" class="widget %2$s">\',
    \'after_widget\' => "</div>",
    \'before_title\' => \'<h3>\',
    \'after_title\' => \'</h3>\',
 ) );
}
现在您必须创建一个名为sidebar mysidebar的文件。php并将其放在主题文件夹中。此文件将加载小部件。例如:

 <?php if ( is_active_sidebar( \'sidebar-mysidebar\' ) ) : ?>

   <div class="mysidebar">
    <?php dynamic_sidebar( \'sidebar-mysidebar\' ); ?>
   </div>

 <?php endif; ?>
现在,在您想要显示“mysidebar”的主题文件中:

<?php get_sidebar(\'mysidebar\'); ?> 

SO网友:Prince Singh

<?php get_sidebar(\'Widget Area Next to Content\'); ?> 
应该是

<?php get_sidebar(\'sidebar-aside-content\'); ?> 
仅在单个立柱上显示

<?php if(is_single) get_sidebar(\'sidebar-aside-content\'); ?> 

结束

相关推荐

Admin option sidebar count

我需要在管理侧边栏的选项菜单项中添加一个计数。这是如何做到的?I found a similar post:Modifying admin sidebar contents to show pending posts indicator