web-dev-qa-db-fra.com

Pourquoi mes widgets n'enregistrent-ils pas lorsqu'ils sont ajoutés à une barre latérale?

Ce qui suit est dans mon fichier function.php. Je vois la barre latérale dans ma page Appearance > Widgets, mais chaque fois que je fais glisser quelque chose dessus et que je l’enregistre, il disparaît simplement lorsque je quitte la zone administrative.

J'ai parcouru le Web et la seule solution que je semble trouver est que je dois désactiver ALL plugin pour trouver le coupable ... ce que j'ai fait en vain.

Si je bascule le thème sur le thème WP 2012, alors il 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.' )
    ));
}

Ceci est mon fichier sidebar-rightBar.php:

<?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é de sauvegarder à la fois dans Chrome et Firefox et ma console javascript ne me pose aucun problème. J'ai également essayé de le faire en mode accessibilité sans succès.

Toute aide est appréciée.

2
Gazillion

C'est le cas du chameau dans l'identifiant du widget. Les oeuvres suivantes:

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 tout en minuscule, sans espaces (la valeur par défaut est un identifiant numérique auto-incrémenté).

http://codex.wordpress.org/Function_Reference/register_sidebar

9
s_ha_dum