web-dev-qa-db-fra.com

Gestion des architectures/menus à plusieurs niveaux pour les grands sites

J'essaie d'obtenir des informations en retour et des idées pour résoudre un problème d'architecture d'informations/de gestion de contenu à l'aide de wordpress.

J'ai un grand site (plus de 1000 pages, des centaines de posts) composé de sections. Chaque section a besoin de son propre menu de navigation secondaire contenant à la fois des pages et des liens personnalisés. Ceci est facile à faire, mais pas nécessairement facile à gérer (pour les non-programmeurs).

Imaginez cette structure:

Parent 1

  • Page 1a
  • Page 1b
  • Page 1c
  • Lien personnalisé 1d

Parent 2

  • Page 2a
  • Page 2b
  • Parent 3
    • Page 3a
    • Page 3b
    • Lien personnalisé 3c
  • Page 2d
  • Lien personnalisé 2e

Voici les solutions que j'ai trouvées (et les problèmes notés):

  1. Créez des menus à l'aide du système de navigation normal WP 3 +. Associez chaque page parent à un menu (via une balise méta/taxonomie/slug/autre personnalisée), puis sur chaque page, saisissez son parent (si elle n'a pas d'enfants) et affichez le menu approprié.

    • Problèmes? Beaucoup! Comme il s’agit d’un site volumineux, il contiendra de nombreux menus rendant la maintenance confuse.
    • Ajouter des pages devient une corvée: ajoutez la page, déclarez la page parent correcte, puis ajoutez-la à nouveau au menu approprié (vous pouvez le simplifier en liant ce dernier élément par programmation au crochet save_page).
    • Que se passe-t-il si un utilisateur ajoute une page et déclare une page parent à laquelle aucun menu n'est associé?
    • Garder une trace de la page parente - l'association de menus sera fastidieuse et non intuitive
  2. Utilisez multisite - chaque site a son propre menu qui apparaît sur toutes les pages qu'il contient.
    • Nombreux problèmes liés au multisite (plugins, ressources de serveur, etc.)
    • Il s’agit en réalité d’un seul grand site et non d’un réseau de sites différents mais interconnectés.
  3. Renoncez au WP 3+ système de navigation, créez plutôt des pages pour TOUS les éléments de menu (y compris les liens personnalisés) et utilisez un plugin/transfert/redirection pour modifier certaines pages factices en liens personnalisés. Utilisez wp_list_pages pour créer par programme des menus basés sur la relation parent de page
    • Il y aura déjà beaucoup de pages réelles, ajouter des fluff (pages qui viennent de rediriger) à la liste des pages n'est probablement pas une bonne idée
    • Utiliser des types de publication personnalisés pour chaque section du site, avec un menu pour chaque type de publication personnalisée
    • Comment répliquons-nous l'imbrication illustrée ci-dessus (parent 3 imbriqué dans parent 2)?
    • Beaucoup des mêmes problèmes que le n ° 1 ci-dessus

J'espère que mon explication du problème et les solutions possibles sont claires - sinon, demandez s'il vous plaît. Sinon, tout commentaire ou idée sur la manière de le faire est le bienvenu.

2
skim-

J'utilisais les menus personnalisés WordPress natifs principalement parce qu'ils permettent à l'administrateur de modifier facilement le contenu. Je ne pense pas que les autres solutions que vous proposez soient suffisamment flexibles pour un client. Je ne pense pas qu'il soit possible d'éviter complètement la complexité dans ce cas. Mieux vaut se concentrer sur l'éducation du client. En passant, toutefois, vous avez oublié le problème possible, à savoir que les menus personnalisés WordPress ne reproduisent pas la structure même du site. Le client doit donc le reproduire lorsqu’il ajoute des éléments au menu.

1
markcbain

Je ne créerais pas de lien vers des sections uniques d'un document à partir du menu principal. Je voudrais fournir un lien vers chaque document et peut-être présenter un sous-menu séparé pour les pages comportant plusieurs sections.

Pour inclure des liens personnalisés dans votre menu, je créerais une page ou un autre document de type publication pour pouvoir enfin créer les menus avec les fonctions WP (wp_list_pages et amis). Si vous avez des centièmes de pages, vous ne pourrez vraiment pas gérer les menus manuellement. Donc, pour donner une réponse claire à votre question: j'irais avec votre troisième solution.

Il existe également des plugins prêts à gérer la visibilité de pages uniques dans un menu généré ou à configurer l'ordre et l'imbrication de menus. Ah, je l’ai trouvé: j’utilisais pageMash , qui a maintenant une clause de non-responsabilité sur le site du plugin WP, mais est toujours en cours d'exécution sur plusieurs de mes installations avec des versions comprises entre 3.1 et 3.4.

1
feeela