为什么在我的WordPress自定义主题中,小部件区域不起作用?窗口小部件未显示

时间:2014-02-07 17:34:45

标签: php content-management-system wordpress-theming wordpress

我正在开发此WordPress自定义主题:http://onofri.org/WP_BootStrap我正在尝试在合作伙伴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');

如您所见,小组化区域的名称为 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管理面板并进入外观---&gt;小部件部分我有 My_Widget_Area “框”,我可以在我的wordpress安装中拖动小部件。所以我在其中加入了一些小部件(如日历搜索 wigets)来尝试它

问题在于,正如您在上一个链接中所看到的那样, Partner e Sostenitori 文字被写入,但我的页面中没有显示小部件。

为什么呢?我错过了什么?我怎么解决这个问题?

TNX

安德烈

1 个答案:

答案 0 :(得分:0)

当您在index.php中调用窗口小部件时,您应该使用窗口小部件ID,而不是名称,名称会显示在管理员中。

因此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( 'partner-slide' ) ) : ?>

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

    <?php endif; ?>
</div>