WordPress : Pourquoi mes widgets ne sont-ils pas enregistrés lorsqu’ils sont ajoutés à une barre latérale ?
Ce qui suit est dans mon function.php
dossier. Je vois la barre latérale dans ma Appearance > Widgets
page, mais chaque fois que je fais glisser quelque chose sur la barre latérale et que je l’enregistre, il disparaît une fois que je quitte la zone d’administration.
J’ai parcouru le Web et la seule solution que je semble trouver est que je dois désactiver TOUS les plugins pour trouver le coupable… ce que j’ai fait en vain.
Si je passe le thème au thème WP 2012, cela semble fonctionner, seul mon thème semble le casser.
add_action( 'widgets_init', 'ditto_register_sidebars' );
function ditto_register_sidebars() {
register_sidebar(array(
'name' => __( 'Right Hand Sidebar' ),
'id' => 'rightBar',
'description' => __( 'Widgets in this area will be shown on the right-hand side.' )
));
}
C’est mon sidebar-rightBar.php
dossier :
<?php
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('rightBar') ) :
endif; ?>
et comment je l’inclus dans mon thème:
<?php get_sidebar( 'rightBar' ); ?>
Juste une note rapide, je cours sur la version 3.5.2.
J’ai essayé d’enregistrer dans Chrome et Firefox et ma console javascript ne me pose aucun problème. J’ai aussi essayé de le faire en mode accessibilité sans succès.
Toute aide est appréciée.
Solution n°1 trouvée
C’est le camel-case dans l’ID du widget. Les travaux suivants :
add_action( 'widgets_init', 'ditto_register_sidebars' );
function ditto_register_sidebars() {
register_sidebar(array(
'name' => __( 'Right Hand Sidebar' ),
'id' => 'right-bar',
'description' => __( 'Widgets in this area will be shown on the right-hand side.' )
));
}
Selon le Codex :
id – ID de la barre latérale – Doit être entièrement en minuscules, sans espaces (la valeur par défaut est un ID numérique auto-incrémenté).
http://codex.wordpress.org/Function_Reference/register_sidebar
0 commentaire