web-dev-qa-db-fra.com

Widgets n'apparaissant pas dans mon thème personnalisé

Je développe ce thème personnalisé WordPress: http://onofri.org/WP_BootStrap et je tente d’insérer une zone widget sous la section Partner e Sostenitori , mais ne peut pas travailler.

J'ai effectué les opérations suivantes:

1) J'ai mis le code suivant dans le fichier 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');

Comme vous pouvez le voir, le nom de la zone widgetisée est My_Widgtet_Area

2) Ensuite, j'ai inséré le code suivant dans mon fichier index.php pour afficher les widgets dans les positions souhaitées:

<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) Ensuite, j’ai entré dans le panneau d’administration WP et dans le Apparence ---> Widget section J'ai le My_Widget_Area "box" où je peux faire glisser le widgets dans mon installation wordpress. Donc, je mets dedans un widget (comme le Calendrier et le Recherche wigets) pour l'essayer

Le problème est que, comme vous pouvez le constater dans le lien précédent, le Partner e Sostenitori texte est écrit, mais aucun widget n’est affiché dans ma page.

Pourquoi? Qu'est-ce que je rate? Comment puis-je résoudre ce problème?

Tnx

Andrea

2
AndreaNobili

Vous utilisez le nom du widget et non i.d, c'est pourquoi il ne fonctionne pas.

Change ça:

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

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

Pour ça:

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

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

Le i.d dans la balise de modèle immédiatement ci-dessus doit correspondre au i.d que vous utilisez pour enregistrer le widget dans votre fichier de fonctions, qui dans ce cas est partner-slide

register_sidebar(array(
    'name' => 'My Widget Area',
    'id' => 'partner-slide',

C’est un problème évident et il en existe peut-être d’autres, mais vous devez suivre le Codex car il fournit des exemples de travail avec des liens connexes http://codex.wordpress.org/Function_Reference/dynamic_sidebar

2
Brad Dalton