小部件未显示在我的自定义主题中

时间:2014-02-07 作者:AndreaNobili

我正在开发WordPress自定义主题:http://onofri.org/WP_BootStrap 我正在尝试插入一个widget areaPartner e Sostenitori 部分,但无法工作。

我执行了以下操作:

1) 我已将以下代码放入functions.php 主题文件:

/**
 * Register our sidebars and widgetized areas.
 *
 */
function arphabet_widgets_init() {

    register_sidebar(array(
        \'name\' => \'My_Widgtet_Area\',
        \'id\' => \'partner-slide\',
        \'before_widget\' => \'<div>\',
        \'after_widget\' => \'</div>\',
        \'before_title\' => \'<h2 class="rounded">\',
        \'after_title\' => \'</h2>\',
    ));
}

add_action(\'widgets_init\', \'arphabet_widgets_init\');
如您所见,widgetized区域的名称为My_Widgtet_Area

2) 然后,我将以下代码插入到index.php 文件以在所需位置显示小部件:

<section id="partnerSlide">
    <header class="header-sezione">
        <h2>Partner e Sostenitori</h2>
    </header>
    <div class="row">
        <?php
            // \'My_Widgtet_Area\' area, where the id is called:
            if (is_active_sidebar( \'My_Widgtet_Area\' ) ) : ?>

            <div id="widget-sidebar">
                <ul>
                    <?php dynamic_sidebar( \'My_Widgtet_Area\' ); ?>
                </ul>
            </div><!-- #widget-sidebar .widget-area -->

        <?php endif; ?>
    </div>
</section>
3)然后我进入WP管理面板并进入Appearance ---> Widget 第一节My_Widget_Area “框”,在这里我可以拖动wordpress安装中的小部件。所以我在里面放了一些小部件(如Calendar 以及Search wigets)尝试一下

问题是,正如您在前面的链接中所看到的那样Partner e Sostenitori 文本已写入,但我的页面中没有显示小部件。

为什么?我错过了什么?我如何解决这个问题?

Tnx公司

安德烈

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

您使用的是小部件名称,而不是ID,这就是它不起作用的原因。

更改此项:

if (is_active_sidebar( \'My_Widgtet_Area\' ) ) : ?>

        <div id="widget-sidebar">
            <ul>
                <?php dynamic_sidebar( \'My_Widgtet_Area\' ); ?>
            </ul>
对此:

if (is_active_sidebar( \'partner-slide\' ) ) : ?>

        <div id="widget-sidebar">
            <ul>
                <?php dynamic_sidebar( \'partner-slide\' ); ?>
            </ul>
上面模板标签中的i.d应该与您在函数文件中注册小部件时使用的i.d匹配,在这种情况下partner-slide

register_sidebar(array(
    \'name\' => \'My Widget Area\',
    \'id\' => \'partner-slide\',
这是一个明显的问题,可能还有其他问题,但是您应该遵循Codex,因为它提供了相关链接的工作示例http://codex.wordpress.org/Function_Reference/dynamic_sidebar

结束

相关推荐

从查询中删除类别(显示Archive.php中的所有帖子)pre_get_post()

我正在使用pre_get_posts() 允许在任何类别存档上显示所有帖子。这是因为我将提供一个使用同位素的javascript排序和过滤方法。js。任何类别页面都将输出所有帖子,但任何不属于该类别的帖子最初都将被隐藏。function show_all_cats( $query ) { if ( !$query->is_main_query() ){ return; } if ( is_admin() ){