Wordpress仪表板中缺少小部件?

时间:2017-10-23 16:53:30

标签: php wordpress sidebar

我正在使用我自己的自定义主题创建一个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;中没有小部件可用的任何想法小部件的数量

修改:解决了!我的代码中实际上有一个地方禁用了默认小部件。我没有意识到那是在那里,因为它一定被包含在我基于我的主题中。删除了这些功能,小部件再次出现。

1 个答案:

答案 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中的任何进一步处理。我可能只是将整个块一起移除。

我并不完全知道为什么你没有看到小部件出现在管理区域,但我很好奇如果你在上述改变后重试会发生什么。