问题:我添加的第三个侧边栏没有出现在目标页面上。
描述:我想知道是否有人可以在创建和显示特定模板中的窗口小部件侧边栏的步骤中看到任何我遗漏的内容。使用下面描述的情况,侧边栏显示在窗口小部件管理页面上,但是当模板呈现时,侧边栏是默认侧边栏,这表示模板未找到动态侧边栏。这是我添加的第二个侧边栏。如果我将模板标签中的侧边栏名称替换为页面使用第一个自定义侧边栏呈现的第一个附加模板的名称。
创建其他窗口小部件边栏并使用所选模板显示它们的步骤
1)在functions.php中注册子主题中的侧栏
2)在注册过程中,为新的侧边栏分配名称和ID
3)基于现有模板创建附加侧边栏模板。复制现有模板并更改动态模板的名称以匹配新注册的侧边栏
4)转到要显示侧栏的模板,并将侧栏的名称插入到get_sidebar()模板标签中。
5)转到管理面板并将小部件拖到新的侧边栏书帖
具体来说,这可能是:
注册侧栏:
if ( function_exists ('register_sidebar'))
register_sidebar( array(
'name' => __('bookpost'),
'id' => 'sidebar-bookpost',
'description' => 'Sidebar for showing ad and section list on the template single-book.php',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>' ));
创建一个名为sidebar-bookpost.php的附加侧边栏模板。编辑行
所以它现在读取
get_sidebar('bookpost');
最后使用小部件管理页面分配小部件。
答案 0 :(得分:3)
你想要获得动态侧边栏吗? 如果是,那么使用
<?php if ( is_active_sidebar( 'sidebar-bookpost' ) ) : ?>
<?php dynamic_sidebar( 'sidebar-bookpost' ); ?>
<?php endif; ?>
而不是get_sidebar('bookpost');
.........