[Résolu] Taxonomies Parent/Child mélangées dans Apparence>Menu

  • WordPress :5.2
  • Statut : résolu
10 sujets de 1 à 10 (sur un total de 10)
  • Auteur
    Messages
  • #2291699
    Equiro
    Participant
    Initié WordPress
    8 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL : 7.2/libmysql – 5.6.43
    • Thème utilisé : Twenty Seventy
    • Extensions en place : Woocommerce
    • Nom de l’hébergeur :O2S
    • Adresse du site :https://sandbox.maaw.fr/

    Problème(s) rencontré(s) :

    Bonjour,

    Déjà je vous souhaite à tous une merveilleuse année avec un cahier de commande plein à craquer et une bonne santé.

    Voici mon problème:

    Je dois construire un menu (megamenu mais peu importe) avec des catégories/sous-catégories de produits que j’ai importé depuis un CSV et j’ai à peu près 500 terms différents de taxonomies pour mes catégories de produit. Donc je m’apprête à le construire dans apparence>menu, je déroule à gauche les catégories de produits, je commence à voir mes taxonomie bien rangées comme il faut, c’est à dire avec les Parents/childs bien respectés, donc je peux me repérer.

    Je descend un peu plus bas (toujours dans mes catégories de produits déclaré) et à partir de “OUTILLAGE” (voir screenshot en pièce jointe) tout est en ligne et j’ai perdu l’arrangement Parent/Child (je précise que ce problème se produit même sur un wordpress vierge avec un theme wordpress de base et uniquement woocommerce d’installé et import csv via woocommerce). Du coup impossible à créer quoi que ce soit car tout est mélangé en plus d’avoir les mêmes term sur des childs appartenant chacun à différent Parents. Donc impossible de me repérer et donc de construire mon menu.

    J’ai essayé de contourner cela avec un plugin qui s’appelle jc-submenu et qui permet carrément de déployer automatiquement les Child des catégories parents. Mais il ne marche pas. (d’ailleurs si quelqu’un connait un autre plugin semblable ça me sauverais v’la le temps).

    Dans Produit>catégorie tout est bien rangé (parent/ child) mais dans apparence>menu cela n’est pas bien retranscrit.

    J’ai essayé de comprendre d’ou pourrait provenir cet erreur en faisant plusieurs essais d’imports et le problème apparait lorsque j’importe plus de 30 terms différents.

    J’ai posé ma question sur le forum wordpress.org mais la seule réponse que j’ai obtenu répond à coté du problème.

    En vous remerciant.

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2291820
    mathieu42
    Participant
    Padawan WordPress
    83 contributions

    je suppose que sur le support de wordpress.org vous avez demandé “comment corriger l’affichage” et on vous a répondu “c’est comme ça depuis longtemps” ? et même s’ils n’ont pas résolu votre problème, c’est leur façon de dire que ce soucis existe depuis très longtemps et personne ne sait comment corriger cela sans que cela deviennent une usine à gaz.

    une solution serait d’ajouter uniquement les catégories principales dans le menu et ensuite d’utiliser un code dans ce genre pour ajouter automatiquement les sous-catégories :

    add_filter("wp_get_nav_menu_items", function ($items, $menu, $args) {
    
    
        if (is_admin()) {
            return $items;
        }
    
    
        foreach ($items as $index => $i) {
    
            if ("category" !== $i->object) {
                continue;
            }
    
    
            $term_children = get_term_children($i->object_id, "category");
    
    
          
    
            foreach ($term_children as $index2 => $child_id) {
    
                $child = get_term($child_id);
    
                $url = get_term_link($child);
    
    
                $e = new \stdClass();
    
                $e->title = $child->name;
                $e->url = $url;
                $e->menu_order = 1000 * ($index + 1) + $index2;
                $e->post_type = "nav_menu_item";
                $e->post_status = "published";
                $e->post_parent = $i->ID;
                $e->menu_item_parent = $i->ID;
                $e->type = "custom";
                $e->object = "custom";
                $e->description = "";
                $e->object_id = 0;
                $e->db_id = 0;
                $e->ID = 0;
                $e->classes = array();
    
                $items[] = $e;
    
            }
    
    
        }
    
    
        return $items;
    
    }, 10, 3);

     

    #2291927
    Equiro
    Participant
    Initié WordPress
    8 contributions

    Bonjour,

    Oui j’ai l’impression que je soulève un problème sérieux car je n’ai effectivement pas eu de réponse.

    Un grand merci pour le votre, j’irais tester ça ! Et vous faire un retour.

    Merci encore et bonne année à vous.

    Roger

    #2291935
    Equiro
    Participant
    Initié WordPress
    8 contributions

    Re,

    Bon malheureusement j’ai ajouté uniquement les catégories parents puis appliqué le code dans le functions.php mais ça n’a rien fait.

    :'(.

    #2291996
    ferman
    Participant
    Maître WordPress
    1737 contributions

    Bonjour,

    Est-ce qu’il ne serait pas possible de “tricher” en créant plusieurs menus plus simples, chacun dépendant d’un des titres principaux (outillage moto 50 mobylette)  “switchables” via un formulaire?

    Exemples: ici pour une extension , pour le principe  et pour une application.

     

    #2292124
    Equiro
    Participant
    Initié WordPress
    8 contributions

    Bonsoir Ferman et merci pour ta réponse.

    C’est un e-commerce avec beaucoup de produits et de catégories différents qui de par nature peut rendre la navigation compliqué. C’est pourquoi je souhaite réellement respecter la tradition du Megamenu où tout est lisible et accessible au survol de la souris depuis la page d’accueil. De plus je pense que cela va alourdir le site (j’ai déjà aussi essayé de fabriquer un megamenu en page content).

    Je suis vraiment au taquet quand à l’optimisation du site (je me suis pris la tête à vider un maximum de chose avant d’appliquer les autoptimizes et companies).

    Je suis vraiment deg, il suffisait juste que les Parents/Child ne soient pas brisés dans apparence>menu où qu’il y ai un autre moyen de se repérer (beaucoup de catégories enfants ont le même terme).

    C’est quand même incroyable qu’il semble y avoir ce défaut inhérent à WordPress depuis tout ce temps.

    J’ai trouvé dans mes recherches une autre personne en 2013 ayant eu le même problème et qui n’a pas obtenu de réponse. https://wpfr.net/support/sujet/hierarchie-des-categories-dans-la-gestion-des-menus-brisee/

    En fait faut que je trouve une solution qui me permette de me repérer facilement lorsque je construit le menu. La chose qui me vient à l’esprit est que je renomme les termes temporairement (le temps de la construction) en fonction de leur catégories parent. Donc même sans arborescence je saurait de quel parent provient chaque termes enfant (car il est là mon soucis principal).

    Vraiment dommage qu’il n’y ai pas “déployeur” de sous menu automatique qui fonctionne (je les aient tous testé aucun ne fonctionne) ou simplement un “reorder” automatique comme ça je déploie tout à l’arrache et hop.

     

     

    • Cette réponse a été modifiée le il y a 2 semaines et 3 jours par Equiro.
    #2292128
    ferman
    Participant
    Maître WordPress
    1737 contributions

    Je comprends. Vous êtes loin d’être le seul dans ce cas.

    Je suis tombé sur ça que vous avez peut-être déjà vu et hélas sans solution sauf tout à la fin une “simple solution” qui ne correspond pas  à la question.

    Il y a aussi ça (peut être plus encourageant; une solution pour  certains. Peut-être aussi pour vous?) et cette discussion instructive.

    Difficile, bon courage.

    #2292130
    Equiro
    Participant
    Initié WordPress
    8 contributions

    Oui ! j’allais justement revenir mettre à jour ma réponse.

    C’est trouvé et tu as mis aussi le doigt dessus ! Et c’est bien ce que je pensais dès le début. C’est à cause de la pagination dans le metabox menu qui casse tout. J’ai donc installé ce plugin qui date mais qui fonctionne toujours (les codes php dans le function.php n’ont pas fonctionné)! https://core.trac.wordpress.org/attachment/ticket/18282/preserve-page-and-taxonomy-hierarchy.php

    Ouf !

    Encore merci pour vos interventions.

    • Cette réponse a été modifiée le il y a 2 semaines et 3 jours par Equiro.
    #2292132
    ferman
    Participant
    Maître WordPress
    1737 contributions

    Tout est bien…et comme il est dit en conclusion de la discussion  sur wordpress.org”Very strange it still exists.”  En effet: cela ne devrait pourtant pas être difficile à résoudre pour  les développeurs de  wordpress puisqu’un plugin pas compliqué peut le faire.

    Si vous y pensez, passez en résolu: la solution risque d’intéresser du monde.

    • Cette réponse a été modifiée le il y a 2 semaines et 3 jours par ferman.
    #2292243
    Equiro
    Participant
    Initié WordPress
    8 contributions

    Oui, c’est fait.

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