WordPress : Une mise en page personnalisée selon le type de catégorie, sans custom post type.

Tuto WordPress niveau avancé.

Vous le savez sans doute, surtout si vous êtes un fervent utilisateur de WordPress, les customs post types nous permettent de créer des types de contenu sur-mesure associant une taxonomie particulière, différente d’un modèle d’article. Les customs post type sont intéressants pour créer par exemple un portfolio.

tuto-du-redac

 

Rappelons que WordPress est un moteur de blog, c’est a dire qu’il ne gère que les types de contenus propre à un blog: pages et articles. En utilisant les customs post type WordPress devient alors un CMS qui permet donc de gérer n’importe qu’elle contenu.

Prenons un exemple concret avec le développement du site lecorridorbleu.fr, un site sur des livres de poésie. Avec les customs post type j’ai créé une entité « Catalogue » qui a des spécificités, comme par exemple des champs personnalisés ou encore une mise en page différente (mais pas dans ce cas).

Les customs post type sont donc bien utiles selon les besoins du site, mais si l’on cherche simplement à modifier la mise en page selon le type de contenu (catégories), il existe une solution plus simple.

Lors de la refonte du site www.la-ptite-gazette.com j’ai eu besoin d’avoir une entité « Photo du jour ». Les articles de cette catégorie sont au format “large” et il n’y a pas de sidebar afin d’utiliser le maximum d’espace pour afficher de belles photos.

Un exemple ci-dessous

exemple

 

J’ai donc utilisé une méthode pas forcement optimisé (des spécialistes dans la salle ?), mais bien pratique.

  1. J’ai simplement créé dans mon thème des fichiers « single.php » différents selon la catégorie souhaitée.
  2. J’ai donc fais un copier-coller du fichier original « single.php » dans un nouveau fichier « single_principale.php ».
  3. Puis j’ai créé un autre fichier « single_photo.php » dans lequel j’ai changé le nom des balises div et supprimé l’appel de la sidebar.
  4. <div id= »full_contenue »> à la place de  <div id= »single »> et suppression de la balise ( get_sidebar();).
  5. Enfin pour finir, dans le fichier principale « single.php » j’ai donc rajouté ce bout de code :

$post = $wp_query->post;
if ( in_category(‘4116’) ) { include(TEMPLATEPATH . ‘/single_photo.php’);}

else {include(TEMPLATEPATH . ‘/single_principale.php’);}

Le numéro « 4116 » correspond à l’ID de ma catégorie « Photo du jour ». Vous pouvez retrouver cette ID dans l’admin >> Catégorie > passer la souris au-dessus du lien de la catégorie, le ID s’affiche en bas de votre navigateur (dans le lien quoi) .

Grace à ce bout de code, quand j’écris un article dans la catégorie « Photo du jour » l’article est automatiquement en large et il n’y a pas de sidebar.

Ce bout de code vous a été utile ? Des commentaires ou éclairage supplémentaires ? N’hésitez pas à vous exprimer ci-dessous !

One thought to “WordPress : Une mise en page personnalisée selon le type de catégorie, sans custom post type.”

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *