web-dev-qa-db-fra.com

Widgets alerte non activée après l'utilisation de get_sidebar ()

Je suis tombé sur un très étrange problème en créant une barre latérale pour mon thème wordpress en utilisant la fonction get_sidebar () dans l'en-tête . php .

J'ai inséré le code suivant dans function.php :

function myfunc_sidebars_init() {
    register_sidebar(array(
        'name' => __('Main Sidebar', 'mytheme'),
        'description' => __('Widget area for the main sidebar.', 'mytheme'),
        'id' => 'sidebar-main',
        'before_widget' => '<div id="%1$s" class="widget %2$s">',
        'after_widget' => '</div>',
        'before_title' => '<h3 class="widget-title">',
        'after_title' => '</h3>',
        ));
    }
}
add_action( 'widgets_init', 'myfunc_sidebars_init' );

Mon sideber.php ressemble à ceci:

<div id="sidebar1" class="fluid-sidebar sidebar span4" role="complementary">

<?php if ( is_active_sidebar( 'sidebar1' ) ) : ?>

    <?php dynamic_sidebar( 'sidebar1' ); ?>

<?php else : ?>

    <div class="alert alert-message">

        <p><?php _e("Please activate some Widgets","mytheme"); ?>.</p>

    </div>

<?php endif; ?>

</div>

J'ai également sélectionné la barre latérale dans Apparence-> Menus dans le panneau d'administration et tous les widgets par défaut sont ajoutés à la barre latérale dans Apparence-> Widgets (Recherche, Articles récents, Commentaires récents, etc.).

Toutefois, après le chargement du thème, une alerte dans le menu latéral indique "Activez certains widgets" . Pourquoi est-ce et comment puis-je résoudre ce problème?

1
Ziik

Vous êtes passé de sidebar-main dans votre myfunc_sidebars_init() à sidebar1 dans sidebar.php. Changer sidebar.php pour utiliser

<?php if ( is_active_sidebar( 'sidebar-main' ) ) : ?>

    <?php dynamic_sidebar( 'sidebar-main' ); ?>
1
Pat J