J'ai créé une barre latérale personnalisée et mis le widget Filtre de produit Ajax YITH WooCommerce Ajax à l'intérieur pour afficher le filtre par couleur. J'ai fait les étapes suivantes:
Dans le fichier functions.php, j'ai enregistré la barre latérale comme ceci:
add_action( 'widgets_init', 'my_register_sidebars' );
function my_register_sidebars() {
/* Register the 'primary' sidebar. */
register_sidebar(
array(
'id' => 'primary',
'name' => __( 'Primary Sidebar' ),
'description' => __( 'A short description of the sidebar.' ),
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
)
);
}
J'ai fait sidebar-primary.php comme ceci:
<div id="sidebar-primary" class="sidebar">
<?php dynamic_sidebar( 'primary'); ?></div>
Ajout d'un widget à ma barre latérale
Sur ma page où j'ai besoin du contenu de la barre latérale pour être affichée, j'ai inclus sidebar-primary.php comme ceci:
<?php include('sidebar-primary.php'); ?>
Mais rien ne montre. Aucune suggestion? Peut-être que je fais quelque chose de mal sans même m'en rendre compte. Merci.
Dans votre fichier functions.php, essayez d’enregistrer la barre latérale sans utiliser une fonction comme celle-ci.
register_sidebar(array( //try not to enclose this in function
'id' => 'primary',
'name' => 'Primary Sidebar',
'description' => 'A short description of the sidebar.',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
));
Et faire appel à la page comme ça
<?php get_sidebar('primary'); ?>
Et dans votre sidebar-primary.php
, je suppose que vous avez fermé la div. Dans votre code, vous n'avez pas montré la division fermée de ce fichier.
METTRE À JOUR
Essayez la méthode ci-dessus et modifiez le ID name
de la barre latérale à partir de functions.php. Vous ne pouvez pas utiliser le même nom pour l’ID et le fichier php de la barre latérale (sidebar_primary.php).
Vous devez donc modifier le nom de l’identifiant à partir du fichier functions.php ainsi que de sidebar_primary.php
. comme
<?php dynamic_sidebar( 'primary'); ?></div>
Dans le code ci-dessus, primary
est id et vous devez le renommer.