multiple sidebar (Créer un compte)

  • Statut : non résolu
8 sujets de 1 à 8 (sur un total de 8)
  • Auteur
    Messages
  • #495207
    Nadege21
    Membre
    Chevalier WordPress
    244 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress :
    – Version de PHP/MySQL :
    – Thème utilisé :
    – Extensions en place :
    – Nom de l’hebergeur :
    – Adresse du site :

    Problème(s) rencontré(s) :

    je cherche a intégrer plusieurs sidebars mais sans succes
    dans ma page functions j’ai mis

    register_sidebar(array(
    ‘name’ => ‘Sidebar’,
    ‘before_widget’ => ‘<div id="%1$s" class="box %2$s">‘,
    ‘after_widget’ => ‘</div></div>‘,
    ‘before_title’ => ‘<div class="title"><h3>‘,
    ‘after_title’ => ‘</h3></div><div class="interior">‘,
    ));

    register_sidebar(array(
    ‘name’ => ‘sidebar2’,
    ‘before_widget’ => ‘<div id="%2s" class="box %2$s">‘,
    ‘after_widget’ => ‘</div></div>‘,
    ‘before_title’ => ‘<div class="title"><h3>‘,
    ‘after_title’ => ‘</h3></div><div class="interior">‘,
    ));

    register_sidebar(array(
    ‘name’ => ‘sidebar3’,
    ‘before_widget’ => ‘<div id="%3$s" class="box %2$s">‘,
    ‘after_widget’ => ‘</div></div>‘,
    ‘before_title’ => ‘<div class="title"><h3>‘,
    ‘after_title’ => ‘</h3></div><div class="interior">‘,
    ));

    j’ai une page sidebar.php et j’ai crée une page sidebar2.php quasi la meme que le 1er

    <div id="sidebar">
    <!-- sidebar2-->
    <div class="pad2">
    <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar2') ) : ?>
    <?php endif; ?>
    </div>

    quand j’appelle ma sidebar sur ma page
    j’ai un message d’erreur
    Warning: sprintf() [function.sprintf]: Too few arguments in /homepages/41/d344372237/htdocs/wp-includes/widgets.php on line 882
    si vous avez des idées
    merci
    Nadege

    #770873
    wasicu
    Membre
    Maître WordPress
    2752 contributions

    Salut Nadège regarde ton code pour la sidebar2 dans le id il manque le $ de la variable.
    Sinon je ne pense pas que tu doives changer la numérotation de ces variables, je crois, j’ai pas le temps de vérifier là, que c’est toujours %1$s et %2$s

    #770874
    Guy
    Participant
    Maître WordPress
    14817 contributions

    Je crois que le nom de la classe doit être défini au moment de l’enregistrement de la sidebar (mais je suis pas sur en fait), on ne passe que l’id à dynamic_sidebar.

    #770875
    wasicu
    Membre
    Maître WordPress
    2752 contributions

    Salut Guy.

    Ok Nadege, me rvla vite fait.

    Lorsque tu crées des fichiers sidebar.php, il est mieux de les créer comme suit : sidebar-2.php, sidebar-3.php, etc. Le tiret a son importance car la fonction get_sidebar() va les appeler ainsi :

    Par contre si tu choisis d’appeler tes sidebars ainsi, il vaut mieux renommer le sidebar.php en sidebar-1.php (ou autre) car la fonction get_sidebar() appelle toujours sidebar.php par défaut.

    Sinon tu peux laisser les noms de fichiers tel quel mais utilise alors plutôt : à la place de la fonction get_sidebar()

    Ok laisse nous savoir.

    #770876
    wasicu
    Membre
    Maître WordPress
    2752 contributions
    Guy wrote:
    Je crois que le nom de la classe doit être défini au moment de l’enregistrement de la sidebar (mais je suis pas sur en fait), on ne passe que l’id à dynamic_sidebar.

    Pas forcément Guy tu peux la mettre en dur mais aussi l’appeler dynamiquement ce qui te donnera des classes genre widget widget-calendar widget-blabla, etc.

    #770877
    Guy
    Participant
    Maître WordPress
    14817 contributions

    bonjour Le blanc 🙂

    J’ai jamais crée de sidebar, donc… mon commentaire => aux oubliettes :(

    #770878
    Nadege21
    Membre
    Chevalier WordPress
    244 contributions

    ok merci tout le monde ca marche

    #770879
    jibey13
    Membre
    Initié WordPress
    15 contributions

    J’avais le mm problème que l’auteur du sujet et le commentaire de wasicu m’a bien aidé!! Merci 😉

8 sujets de 1 à 8 (sur un total de 8)
  • Vous devez être connecté pour répondre à ce sujet.