在自定义存档后页面上获取自定义侧栏

时间:2015-08-28 作者:Guillermo Carone

我有一个名为“书目”的自定义帖子类型和相应的存档书目。php文件显示帖子列表。在此页面上,我想添加一个此页面独有的侧栏,因此我继续注册了一个新的侧栏,如下所示:

// Register Bibliography Sidebar
function bibliography_sidebar() {
    register_sidebar( array(
        \'name\' => \'bibliography_sidebar\',
        \'id\' => \'bibliography_sidebar\',
        \'description\' => __( \'Widgets in this area will be shown on the bibliography sidebar.\', \'theme-slug\' ),
        \'before_widget\' => \'<li id="%1$s" class="widget %2$s">\',
        \'after_widget\'  => \'</li>\',
        \'before_title\'  => \'<h2 class="bibliography_sidebar">\',
        \'after_title\'   => \'</h2>\',
    ) );
}
add_action( \'widgets_init\', \'bibliography_sidebar\' );
然后是档案馆的藏书。php文件我试图调用侧栏,如下所示:

get_sidebar(\'bibliography_sidebar\');
我在管理端看到了新的侧栏,我可以向其中添加小部件,但在前端,我得到的只是主侧栏,而不是“书目侧栏”。

你知道我这里缺少什么吗?

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

get_sidebar($name) 将加载模板sidebar-{$name}.php. 如果sidebar-{$name}.php 不存在,则返回加载sidebar.php.

要拥有特定的侧栏,可以创建一个文件sidebar-bibliography_sidebar.php 在主题中使用此代码:

<?php

if ( is_active_sidebar( \'bibliography_sidebar\' ) ) {
    dynamic_sidebar( \'bibliography_sidebar\' );
}

相关推荐

Searchresult sidebar change

那么,searchresult页面侧栏位于哪里?例如,在searchresult页面中,有一个“A”侧栏。但是,我想将其更改为“B”侧栏。我看着search.php 但无法理解侧边栏的来源。