Ajouter une 2ème Sidebar dans un thème WordPress spécifique
J’ai appris à ajouter des barres latérales supplémentaires, maintenant je dois comprendre comment ajouter une barre latérale supplémentaire en plus de celle déjà affichée dans le thème Librio ( wordpress.org/extend/themes/librio ).
Je ne sais absolument pas où chercher. Le code est un pur chaos et n’est pas explicite.
Mon sidebar.php contient le code suivant :
<div id="idontknow">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar1') ) : ?>
<?php endif; ?>
</div>
Maintenant, si je duplique et ajoute le même code mais avec ‘sidebar2’, tout ce que j’obtiens est la 2ème barre latérale affichée à l’INTÉRIEUR de la 1ère barre latérale.
<div id="idontknow">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar1') ) : ?>
<?php endif; ?>
</div>
<div id="ireallydont">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar2') ) : ?>
<?php endif; ?>
</div>
Je ne veux pas ça. Je veux 2 barres latérales séparées côte à côte. Quelqu’un peut-il m’aider, jolie s’il vous plaît?
J’ai essayé d’expirer avec CSS et id=leftsidebar et id=rightsidebar, mais cela ne fonctionne tout simplement pas.
Juste pour clarifier à nouveau : j’ai 2 barres latérales ! J’ai même le bon code dans functions.php
if ( function_exists('register_sidebar') )
register_sidebar(array('name'=>'sidebar1',
'before_widget' => '<div class="block">',
'after_widget' => '</div>',
'before_title' => '<h3 class="widgettitle">',
'after_title' => '</h3>',
));
register_sidebar(array('name'=>'sidebar2',
'before_widget' => '<div class="block">',
'after_widget' => '</div>',
'before_title' => '<h3 class="widgettitle">',
'after_title' => '</h3>',
));
Le problème est, comme mentionné, que la 2ème barre latérale nouvellement créée est affichée à l’intérieur de la 1ère barre latérale. Je veux que le thème soit modifié afin d’avoir 2 barres latérales distinctes.
Solution n°1 trouvée
Avez-vous essayé de changer l’identifiant de votre deuxième div de la barre latérale en id= »sidebar2″ ? C’est très difficile à dire sans voir le site/code mais il peut y avoir quelque chose dans le CSS qui fait que les deux barres latérales se chevauchent. Soit ça, soit le premier n’est pas fermé correctement.
Solution n°2 trouvée
Vous devez enregistrer une deuxième barre latérale.
créez un fichier functions.php (peut-être que ce fichier existe déjà) dans votre dossier de thème et ajoutez le code suivant :
<?php
register_sidebar(array('name'=>'sidebar'));
register_sidebar(array('name'=>'sidebar2'));
?>
Maintenant, si vous allez dans votre section d’administration wordpress, vous devriez voir qu’il y a 2 barres latérales disponibles où vous pouvez ajouter des widgets.
Solution n°3 trouvée
Avez-vous mis vos divs de la barre latérale à l’intérieur de la div de la barre latérale de la librio ?
En d’autres termes, est-ce que tu sidebar.php
ressembles à ça ?
<div id="sidebar">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar1') ) : ?>
<!-- default librio sidebar stuff goes here -->
<?php endif; ?>
<div id="sidebar2">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar1') ) : ?>
<!-- second sidebar stuff goes here -->
<?php endif; ?>
</div>
</div>
Lorsque j’ai fait cela, la deuxième barre latérale est apparue dans le cadre de la barre latérale de librio par défaut. Lorsque j’ai déplacé les éléments à l’ <div id="sidebar2">
extérieur de <div id="sidebar">
, le deuxième contenu de la barre latérale est apparu au bas de la page. Vous devrez modifier le CSS pour le déplacer ailleurs.
0 commentaire