web-dev-qa-db-fra.com

Sidebar Widget Enregistrement sans nom, comment est-il attribué au nouveau widget nommé sidebar?

Dans ma version actuelle du thème, j'enregistre des barres latérales avec des noms. Cependant, dans les versions précédentes, je n'avais qu'une barre latérale et je l'ai enregistrée sans un nom comme celui-ci ...

if ( function_exists('register_sidebar') )
    register_sidebar(array(
        'before_widget' => '<div class="menu side %2$s">',
        'after_widget' => '</div>',
        'before_title' => '<h4>',
        'after_title' => '</h4>',
    ));

Mais maintenant, dans mon thème mis à jour, j'enregistre plusieurs barres latérales et leur donne un nom. Cependant, lorsque je mets à jour l'ancien thème vers la dernière version, le widget de la barre latérale qui a été enregistré sans nom est apparemment attribué arbitrairement à l'une des nouvelles barres "nommées", mais pas à celle pour laquelle j'ai besoin. J'ai besoin que ce widget de barre latérale non nommée soit réaffecté à celui nommé "Barre latérale" dans le thème mis à jour.

Voici mes nouvelles inscriptions sidebar ...

if ( function_exists('register_sidebar') )
    register_sidebar(array(
        'name' => 'Featured_Home',
        'before_widget' => '<div class="featured-home">',
        'after_widget' => '</div>',
        'before_title' => '<h2>',
        'after_title' => '</h2>',
    ));

if ( function_exists('register_sidebar') )
    register_sidebar(array(
        'name' => 'Featured_Inside',
        'before_widget' => '<div class="featured-inside">',
        'after_widget' => '</div>', 
        'before_title' => '<h2>',
        'after_title' => '</h2>',
    ));

if ( function_exists('register_sidebar') )
    register_sidebar(array(
        'name' => 'Featured_Category',
        'before_widget' => '<div class="featured-category">',
        'after_widget' => '</div>',
        'before_title' => '<h4>',
        'after_title' => '</h4>',
    ));

if ( function_exists('register_sidebar') )
    register_sidebar(array(
        'name' => 'Sidebar',
        'before_widget' => '<div class="menu side %2$s">',
        'after_widget' => '</div>',
        'before_title' => '<h4>',
        'after_title' => '</h4>',
    ));

if ( function_exists('register_sidebar') )
    register_sidebar(array(
        'name' => 'Home_PreFooter',
        'before_widget' => '<div class="footer-pre-home">',
        'after_widget' => '</div>',
        'before_title' => '<h4>',
        'after_title' => '</h4>',
    ));

if ( function_exists('register_sidebar') )
    register_sidebar(array(
        'name' => 'Inside_PreFooter',
        'before_widget' => '<div class="footer-pre-inside">',
        'after_widget' => '</div>',
        'before_title' => '<h4>',
        'after_title' => '</h4>',
    )); 
3
Scott B

Essayez de déplacer l'enregistrement de la barre Sidebar pour être le premier.

J'avais l'impression que le widget devrait se déplacer vers cette zone spéciale "non affectée" dans cette situation, mais peut-être que cela ne fonctionne que entre les thèmes, pas de modifications dans le même thème.

1
Rarst