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?
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' ); ?>