Catégories et pages : arborescence (menu, fil d’ariane et URL) (Créer un compte)

  • Statut : non résolu
5 sujets de 1 à 5 (sur un total de 5)
  • Auteur
    Messages
  • #507565
    K-rip
    Membre
    Initié WordPress
    21 contributions

    Bonjour à tous,

    Ma configuration WP actuelle
    – Version de WordPress : 3.3.1
    – Thème utilisé : Toolbox (modifié)
    – Extensions en place : Akismet, Better Text Widget, Widget Context, WordPress SEO, WP PHP Widget
    – Nom de l’hebergeur : PHPNET

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

    Voilà un an que je travaille sur WordPress en tant qu’intégrateur et je commence à m’habituer à ce CMS aux nombreuses possibilités. J’ai été confronté à de nombreuses situations complexes et j’ai toujours fini par trouver une solution. Mais aujourd’hui je me heurte au fonctionnement même de WordPress qui ne me permet pas de faire exactement ce que je veux (ou plutôt ce que le client veut).

    Je travaille actuellement sur le blog d’une grande marque que je n’ai pas le droit de citer à l’heure actuelle. Je ne pourrai donc pas vous montrer le site, j’espère que cela ne vous empêchera pas de vous pencher sur mon problème. Je vais essayer d’être le plus clair possible.

    Ce blog a principalement pour vocation la publication régulière d’articles au format classique de WordPress. Le blog est constituée de 4 catégories « mères » que nous appelleront A, B, C et D. Chacune d’entre elles regroupe entre 2 et 6 catégories « filles » qui contiennent des articles, nous les appelleront A1, A2, A3, B1, B2, etc.

    Un article est toujours associé à une seule catégorie fille. Nous ne mettons jamais un article dans une catégorie mère. Le rôle d’une catégorie mère est donc uniquement de structurer le blog au niveau de l’arborescence.

    Pour résumer, voici un schéma de l’arborescence du blog (que je ne peux pas modifier étant donné qu’elle vient du client) : http://www.k-rip.fr/probleme-categories.png

    Deux pages statiques se glissent dans l’arborescence, elles contiennent chacune un formulaire qui affiche dynamiquement un résultat selon le choix de l’internaute (du genre : quel est le produit fait pour moi selon mon signe astrologique). Ces pages ont été codées par un développeur, elles utilisent des templates et tout est en dur, on ne passe pas par la boucle WordPress. Au niveau de l’arborescence, ces deux pages sont sensées se trouver dans la catégorie B, au même niveau que les catégories filles B1 et B2 (et vous devez commencer à vous faire une idée du problème).

    Comme vous pouvez le voir sur ce schéma, le menu principal (situé dans header.php) doit afficher uniquement les quatre catégories mères. Juste en dessous, un menu secondaire (horizontal) liste les catégories filles de la catégorie actuelle (ainsi que les deux pages statiques pour la catégorie B). C’est un peu le même principe que sur le site http://www.lequipe.fr.

    J’ai codé le menu principal en dur dans header.php. En revanche, chaque sous-menu correspond à un « menu WordPress » : j’ai modifié le thème en insérant quatre emplacements de menu au même endroit, j’utiliserai les conditions PHP pour n’en afficher qu’un seul à la fois selon la catégorie mère dans laquelle on se trouve.

    Problèmes :
    – Je dois afficher un fil d’Ariane sur le blog, et avec cette structure il ne prend pas mes catégories et mes pages statiques en compte (le plug-in « Fil d’ariane pour menu » serait sans doute un début de solution, mais il semble ne plus fonctionner).
    – Les URL doivent êtres propres, de type http://www.nomdelamarque.fr/blog/categorieA/sous-categorieA1/article. J’utilise pour cela WordPress SEO, mais encore une fois, les pages statiques posent problème.
    – Le client veut que la catégorie A soit la page d’accueil du blog, ce qui complique encore les choses.

    Peut-on mettre une catégorie en page d’accueil ? J’imagine que non, et qu’il faut que j’utilise un template. Mais alors, comment gérer les fils d’Ariane et la structure des URL ? Dois-je créer une page « associée » à chaque catégorie mère ? Ou carrément remplacer les catégories par des pages ? J’ai lu plusieurs messages de Lumière de Lune qui déconseillait cette méthode. L’utilisation des catégories personnalisées de type categorie-xx.php est-elle un début de solution ?

    Autre précision sans doute importante, les pages « catégories » n’ont pas toutes la même apparence sur le blog, c’est une contrainte de la charte graphique.

    Je vous avoue que je suis perdu et assez dépassé par cette situation, je ne sais pas par où commencer et j’ai l’impression d’atteindre les limites de WordPress. J’espère vraiment que quelqu’un pourra m’éclairer, d’autant plus que les délais sont courts et que c’est une grosse commande…

    J’espère ne pas vous avoir trop embrouillés, en relisant mon message j’ai l’impression que ce que je demande est impossible. Pourtant je suis persuadé qu’il existe une solution, même si elle passe par du code PHP complexe.

    Un grand merci d’avance pour votre aide précieuse.

    K-rip

    #824433
    Lumiere de Lune
    Participant
    Maître WordPress
    20531 contributions

    Ah les clients ^^

    Tu peux dans la page d’accueil index.php insérer via query_posts un critère pour ne prendre que les articles associés à cette catégorie.

    Pour tes menus, je ferais un seul menu, avec des sous menus, et je travaillerais sur l’affichage par les css, ça permettrait sans doute de résoudre le fil d’ariane

    #824434
    seebz
    Participant
    Padawan WordPress
    80 contributions

    Après un essai en local, dans le cas d’un conflit d’url entre page et category, la catégorie semble prendre le dessus.

    Tu pourrais donc éventuellement placer tes pages dans une arborescence pour pour obtenir un permalink du genre /blog/categorieB/page-statique-1/.
    Ceci uniquement dans le but que le fil d’ariane se génère comme il faut.
    Le problème ici est que les pages ne seront pas accessible (WP cherchera une catégorie « page-statique-1 » fille de categoryB), il faudrait alors jouer avec wp_rewrite pour qu’il matche correctement ces 2 pages.

    Pour l’accueil, tu pourrais simplement afficher la première page des archives de la catégorie A (fct query_post comme l’a dit lumière de lune) et éventuellement laisser le lien page suivante pointer vers l’url complète de la page 2 de la catégorie A.
    Une autre solution est encore de faire joujou avec wp_rewrite pour que wp considère nativement l’accueil comme étant la catégorie A (injecter les règles qui manqent : pagination, feed, …)

    #824435
    K-rip
    Membre
    Initié WordPress
    21 contributions

    Merci beaucoup pour vos réponses et pour le temps consacré à mon problème, c’est vraiment sympa 🙂
    J’y vois déjà plus clair, j’essaye tout ça demain au bureau et je vous tiens au courant !

    #824436
    K-rip
    Membre
    Initié WordPress
    21 contributions

    Le fil d’Ariane fonctionne parfaitement avec ta technique Seebz, merci beaucoup ! C’est une chance que WordPress affiche en priorité les catégories en cas de conflit. Aucun problème avec les pages statiques, elles sont trouvées correctement, je n’ai pas eu besoin d’utiliser wp_rewrite (je n’avais peut-être pas précisé que ces pages n’ont pas le rôle de catégories, elles sont au dernier niveau de l’arborescence).

    Je pense utiliser query_posts pour l’accueil, afin de « transformer » l’index en catégorie. J’ai juste une question : comment puis-je définir un template de catégorie afin d’utiliser wp_redirect sur ma catégorie A ? Ceci dans le but de rediriger l’internaute vers l’index s’il clique sur le lien de la catégorie dans le fil d’Ariane ou s’il y accède directement en tapant l’URL ou via un lien quelconque.

    J’aimerais en fait éviter le doublon site.fr/blog et site.fr/blog/categorieA. L’internaute arriverait donc sur l’accueil en cliquant sur Accueil ou sur Catégorie A dans le fil d’Ariane (ce n’est pas génial mais le client est roi). Lumière de Lune parlait de fichiers de type categorie-xx.php quelque part mais je ne sais pas comment ça fonctionne.

    Encore un grand merci pour votre aide, vous me sortez d’une situation délicate !

    Edit : Finalement, nous allons dissocier l’index et la catégorie A après un nouveau point avec le client. Cela me facilite grandement le travail. Le seul problème c’est que l’accueil sera atteignable uniquement par un clic sur le logo ou le fil d’Ariane. Tant pis, au moins la navigation est logique maintenant. On peut donc dire que mon problème est résolu, merci beaucoup pour votre réactivité !

5 sujets de 1 à 5 (sur un total de 5)
  • Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.