我正在使用我自己的自定义主题创建一个WordPress博客,并且在侧边栏中显示小部件很困难。我在functions.php中注册了我的侧边栏,并使用了get_sidebar();在index.php中。如果我将内容放在sidebar.php中,它将正确显示在侧边栏中,但我希望能够动态修改侧边栏。但是,当我去Appearance>窗口小部件,它显示我的侧边栏名称,但“可用窗口小部件”部分中未列出任何窗口小部件。
这是我在functions.php中注册我的侧边栏的地方:
function blog_widgets_init() {
register_sidebar( array(
'name' => esc_html__( 'Sidebar', 'blog' ),
'id' => 'sidebar-1',
'description' => '',
'before_widget' => '<section id="%1$s" class="widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h4 class="widget-title">',
'after_title' => '</h4>',
) );
}
add_action( 'widgets_init', 'blog_widgets_init' );
这是我在index.php中调用侧边栏的地方:
<?php get_sidebar(); ?>
这是sidebar.php:
<?php
if ( ! is_active_sidebar( 'sidebar-1' ) ) {
return;
}
?>
<div id="secondary" class="widget-area" role="complementary">
<?php dynamic_sidebar( 'sidebar-1' ); ?>
</div>
为什么外观&gt;中没有小部件可用的任何想法小部件的数量
修改:解决了!我的代码中实际上有一个地方禁用了默认小部件。我没有意识到那是在那里,因为它一定被包含在我基于我的主题中。删除了这些功能,小部件再次出现。
答案 0 :(得分:0)
我认为问题的一部分是对SELECT * FROM (SELECT idcol, COUNT(*) FROM table WHERE month = 7 GROUP BY idcol) x LIMIT 10;
来自documentation of that function:
包含小部件的任何侧边栏都将返回TRUE,而任何侧边栏 不包含任何小部件的侧边栏将返回FALSE。
所以你的第一行,因为那个侧边栏不包含任何小部件(但是),总是只会&#34;返回&#34;并结束sidebar.php中的任何进一步处理。我可能只是将整个块一起移除。
我并不完全知道为什么你没有看到小部件出现在管理区域,但我很好奇如果你在上述改变后重试会发生什么。