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 3 années et 10 mois.
-
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.