• 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.
8 sujets de 1 à 8 (sur un total de 8)
  • Auteur
    Messages
  • #46303
    yacine
    Participant
    Points: 26 pts
    Membre 2 étoiles

    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

    ====================
    depanagewp
    vpsa2
    #46336
    Fred – WooFrance
    Maître des clés
    Points: 7,417 pts
    Certifié
    Membre 2 étoiles

    Salut

    Pas d’idée mais si vous trouvez, je veux bien le tuyau.

    ====================
    depanagewp
    vpsa2
    #46339
    yacine
    Participant
    Points: 26 pts
    Membre 2 étoiles

    ca va rendre la boucoup d’utilisateur woocommrece heureux

    ====================
    depanagewp
    vpsa2
    #46362
    Mathieu
    Participant
    Points: 1,315 pts
    Membre 2 étoiles

    Mettez 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.

    ====================
    depanagewp
    vpsa2
    2 users thanked author for this post.
    #46367
    yacine
    Participant
    Points: 26 pts
    Membre 2 étoiles

    bonsoir et merci pour votre réponse mais jai pas vraiment capter

    il faut mettre ce bout de code ou exactement

    cordialement

    ====================
    depanagewp
    vpsa2
    #46387
    Mathieu
    Participant
    Points: 1,315 pts
    Membre 2 étoiles

    Vous 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.

    ====================
    depanagewp
    vpsa2
    #205096
    poezevara
    Participant
    Points: 13 pts

    Bonjour j’utilise votre code bien qu’il fonctionne mais il me génère des erreurs php

    Voila ce que me retourne query monitor (voir photo)

    notice undefined

    ====================
    depanagewp
    vpsa2
    #207367
    WB2
    Modérateur
    Points: 3,388 pts
    Membre 2 étoiles

    Bonjour, 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 ».

    ====================
    depanagewp
    vpsa2
8 sujets de 1 à 8 (sur un total de 8)
  • Vous devez être connecté pour répondre à ce sujet.