web-dev-qa-db-ja.com

カスタムテーマにウィジェットが表示されない

私はこのWordPressカスタムテーマを開発しています: http://onofri.org/WP_BootStrap そして Partner e Sostenitori セクションの下に ウィジェットエリア を挿入しようとしていますが、うまくいかない。

以下の操作を行いました。

1) functions.php themeファイルに次のコードを追加しました。

/**
 * 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管理パネルと Appearance ---> Widget セクションに入った My_Widget_Area "box"をドラッグすることができます。私のwordpressのインストールにウィジェット。だから私はそれを試すためにそれにいくつかのウィジェット( カレンダー 検索 wigetsとして)を入れた

問題は、前のリンクでわかるように、 Partner e Sostenitori というテキストが書かれていますが、私のページにはウィジェットが表示されていないことです。

どうして?何が足りないの?どうすればこの問題を解決できますか?

TNX

アンドレア

2
AndreaNobili

あなたはウィジェット名を使用していて、i.dを使用していないので、それは機能していません。

これを変更してください。

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',

それは明らかな問題の1つで、他にもあるかもしれませんが、関連するリンクを含む実用的な例を提供しているのでCodexに従うべきです/ http://codex.wordpress.org/Function_Reference/dynamic_sidebar

2
Brad Dalton