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é : 17 mars 2016

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 taxonomy=product_cat dans l’URL. Voila donc le nom de la taxonomie WooCommerce.
Taxonomy WooCommerce

Afficher les Catégories Produits WooCommerce

1
2
3
4
5
6
7
8
9
10
<?php
$categories = get_categories('taxonomy=product_cat&hide_empty=1');
$select = "<select name='cat' id='cat' class='postform'><option value='".$category->slug."'>Quelle Occasion ?</option>n";
  foreach($categories as $category){
  if($category->count > 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.

1
2
3
4
5
6
7
8
<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.

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

Leave a Reply

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>