web-dev-qa-db-fra.com

Question de développement de thème concernant les mises en page

Je développe un modèle WordPress (ou plutôt j'essaie de le faire) et j'ai besoin d'un peu d'aide/de conseils.

J'ai un modèle qui consiste en un en-tête (inc nav), un pied de page, une zone de contenu principale.

La zone de contenu principale comporte deux colonnes: la colonne de gauche pour un sous-menu et la droite pour le contenu, comme le montre le diagramme brut ci-dessous. La zone de contenu appropriée contient plusieurs autres lignes et colonnes qui sont différentes pour la plupart des pages du site. Certaines comportent une série de lignes et de colonnes, d'autres une seule ligne/colonne.

Je me demande quel est le meilleur moyen de créer ces modèles - est-ce que je crée plusieurs modèles, chacun adaptant la structure différente ou existe-t-il un meilleur moyen? La seule chose qui est incohérente entre chaque page est la colonne de droite (zone violette), et il semble dommage de dupliquer la page entière dans un nouveau modèle simplement à cause de cette zone incohérente, surtout si j'ai différents styles dans la zone de contenu.

J'ai ajouté une capture d'écran pour illustrer deux dispositions possibles!

Éditer: Malheureusement, je n'ai pas la 10 réputation requise pour publier des images, alors cette image se trouve ici:

enter image description here

1
Goonyan Harir

Vos zones cohérentes/communes sont:

  • En-tête (y compris nav)
  • Bas de page
  • Barre latérale

Donc, vous pouvez facilement les faire en conséquence pour:

  • header.php - get_header();
  • footer.php - get_footer();
  • sidebar.php - get_sidebar();

Et la bonne zone de contenu, car elle est incohérente, elle peut donc être séparée dans une page différente comme:

  • content.php (modèle général)
  • content-double.php (modèle 1)
  • content-page.php (modèle 2)
  • etc.

Et pour les inclure, il suffit de mettre le code suivant en conséquence:

<?php get_template_part('content', ''); ?>
<?php get_template_part('content', 'double'); ?>
<?php get_template_part('content', 'page'); ?>

De cette façon, vous pouvez séparer votre modèle en diverses particules et les inclure si nécessaire. Toute question est fortement recommandée avec merci. :)

3
Mayeenul Islam