NB : Faire une sauvegarde de votre thème, de votre fichier et/ou votre base de données avant d’ajouter ces fonctions tutoriels.

Afficher les Catégories Produits WooCommerce
Intermédiaire

---- Cet article a été modifié : 18 janvier 2022

Temps de lecture : 1 minute, 54 seconds - 140 mots

Afficher les Catégories Produits WooCommerce ailleurs que dans les Widgets…
Nous allons effectuer une requête qui va permettre d’aller afficher les catégories correspondant a la taxonomie WooCommerce.

Pour détecter le nom d’une taxonomie WordPress, il suffit d’aller dans les catégories du Post Type désirée et de visionner l’url…
Dans l’exemple on voit <strong>taxonomy=product_cat</strong> dans l’URL. Voila donc le nom de la taxonomie WooCommerce.

Taxonomy WooCommerce

Afficher les Catégories Produits WooCommerce

<?php 
$categories = get_categories('taxonomy=product_cat&amp;hide_empty=1');
$select = "<select name='cat' id='cat' class='postform'>
<option value='".$category->slug."'>Quelle Occasion ?</option>";
  foreach($categories as $category){
  if($category-&gt;count &gt; 0){
      $select.= "<option value='".$category->slug."'>".$category->name."</option>";
  }}
$select.= "</select>";
echo $select;
?>

Nous allons ensuite par du JavaScript modeler tout ca en disant que tu dois garder en selected la catégorie désirée et de la renvoyer vers le URL Slug correspondant à la catégorie.

Juste après notre requête, nous ajoutons donc notre JavaScript.

<script type="text/javascript">
var dropdown = document.getElementById("cat");
function onCatChange() {
if ( dropdown.options[dropdown.selectedIndex].value != -1 ) {
location.href = "<?php echo home_url();?>/boutique/categorie/"+dropdown.options[dropdown.selectedIndex].value+"/";
}}
dropdown.onchange = onCatChange;
</script>

Quand on regarde bien l’URL de redirection dans le code précédent.
A vous de modifier votre URL de votre boutique lien base slug Catégorie.

location.href = "<?php echo home_url();?>/boutique/categorie/"+dropdown.options[dropdown.selectedIndex].value+"/";

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>