7 sujets de 1 à 7 (sur un total de 7)
  • Auteur
    Messages
  • #46336
    Fred – WooFrance
    Maître des clés
    Points: 7,418 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,389 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
7 sujets de 1 à 7 (sur un total de 7)
  • Vous devez être connecté pour répondre à ce sujet.