WooFrance Dépannage et support WordPress WooCommerce › Forums › Les plugins WordPress WooCommerce › convertir les catégories WooCommerce en menu
- Ce sujet contient 7 réponses, 2 participants et a été mis à jour pour la dernière fois par WB2, le il y a 4 années.
-
AuteurMessages
-
24 novembre 2017 à 21 h 49 min #46303
Bonsoir
je suis entraine de travailler sur des sites woocomerce avec boucoup de catégories produits parents enfant et sous enfants
mon besoin cest un plugin ( payant ou gratuit ) qui peut convertir tous ses catégories produits en menu en respectant l’l’hiérarchie parents / enfant / sous enfants
y’en a tellement de catégories avec certain le même nom donc c’est un peu une labyrinthe de le faire manuellement
merci avance de votre aide
====================
24 novembre 2017 à 22 h 26 min #4633624 novembre 2017 à 23 h 22 min #4633925 novembre 2017 à 22 h 43 min #46362Mettez les catégories principales dans le menu et ensuite le code suivant va les compléter récursivement avec les catégories enfants :
add_filter("wp_get_nav_menu_items", function ($items, $menu, $args) { if (is_admin()) { return $items; } foreach ($items as $index => $i) { if ("product_cat" !== $i->object) { continue; } $categorie = get_term($i->object_id); $items = apply_filters("NOM_EXTENSION/ajoutEnfantsMenu", $items, $categorie, $index, "", $i->db_id); } return $items; }, 10, 3); add_filter("NOM_EXTENSION/ajoutEnfantsMenu", function ($items, $parent, $indexParent, $prefixeIdParent, $menuParent) { $termEnfants = get_terms($parent->taxonomy, [ "parent" => $parent->term_id, ]); $prefixeIdEnfant = "menu_{$parent->taxonomy}_"; foreach ($termEnfants as $index2 => $enfant) { $indexEnfant = 1000 * ($indexParent + 1) + $index2; $menuEnfant = 1000 * $menuParent + $index2; $e = new \stdClass(); $e->title = $enfant->name; $e->url = get_term_link($enfant); $e->menu_order = $indexEnfant; $e->post_type = "nav_menu_item"; $e->post_status = "published"; $e->menu_item_parent = "$prefixeIdParent$menuParent"; $e->type = "custom"; $e->object = "custom"; $e->description = ""; $e->object_id = 0; $e->db_id = "$prefixeIdEnfant$menuEnfant"; $e->ID = "$prefixeIdEnfant$menuEnfant"; $e->classes = []; $items[] = $e; $items = apply_filters("NOM_EXTENSION/ajoutEnfantsMenu", $items, $enfant, $indexEnfant, $prefixeIdEnfant, $menuEnfant); } return $items; }, 10, 5);
====================Développeur PHP et WordPress En Alsace dans l'annuaire des prestataires WordPress et WooCommerce
Création d'extensions pour WordPress et WooCommerce - Personnalisation d'extensions existantes
🔶 Si vous appréciez mon aide, vous pouvez me faire un don de n'importe quel montant en cliquant ici.
2 users thanked author for this post.
25 novembre 2017 à 23 h 39 min #4636726 novembre 2017 à 19 h 35 min #46387Vous pouvez mettre cela en créant une extension ou dans le fichier functions.php du thème.
====================Développeur PHP et WordPress En Alsace dans l'annuaire des prestataires WordPress et WooCommerce
Création d'extensions pour WordPress et WooCommerce - Personnalisation d'extensions existantes
🔶 Si vous appréciez mon aide, vous pouvez me faire un don de n'importe quel montant en cliquant ici.
27 décembre 2020 à 11 h 39 min #20509611 janvier 2021 à 11 h 28 min #207367Bonjour, je pense que c’est faisable avec le plugin Mega Menu : https://woofrance.fr/comment-faire-un-mega-menu-dans-wordpress-avec-max-mega-menu/
Apparence> Menus, et développez la section «Options d’écran» en haut à droite de la page. Activez « Catégories de produits » et « Tags de produits ».
====================
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.