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
    #46336
    Fred – WooFrance
    Maître des clés
    Points: 7,413 pts
    Certifié
    Membre 2 étoiles

    Salut

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

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

    ca va rendre la boucoup d’utilisateur woocommrece heureux

    depanagewp
    #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
    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
    #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
    #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
    #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
8 sujets de 1 à 8 (sur un total de 8)
  • Vous devez être connecté pour répondre à ce sujet.