Utilisations innovantes des types de post WordPress et des taxonomies

Avec la sortie de Wordpress 3.0, deux excellents moyens d'améliorer l'organisation et l'affichage du contenu ont été introduits: types de poste et taxonomies. Ces deux avancées améliorent le rôle de Wordpress en tant que système de gestion de contenu complet et continuent de prouver que WP n'est pas simplement une plate-forme de blog. Lorsque les versions 3.1 publieront des formats de publication, il sera impératif de comprendre comment utiliser et mettre en œuvre les types de publication et les taxonomies..


Ce que nous allons couvrir

Dans ce tutoriel, je vais vous expliquer les points suivants:

  • Vue d'ensemble des types de publication et des taxonomies dans Wordpress 3.0
  • Comment intégrer les types de post et les taxonomies dans vos thèmes
  • Exemples concrets d'utilisation de types de publication et de taxonomies de manière innovante dans vos projets

Au moment où vous aurez terminé ces étapes, j'espère alimenter vos projets en examinant d'autres moyens impressionnants d'intégrer ces éléments organisationnels dans WordPress..


Un aperçu rapide des types de post WordPress

Lorsque vous pensez aux types de publication, le mot important à retenir est: organisation. Le type de message lui-même n’ajoutera pas vraiment de fonctionnalité, mais cela nous permettra de mieux organiser le contenu Wordpress et de créer des tableaux de bord administratifs plus spécifiques au type de site avec lequel nous travaillons..

Voici quelques points importants à retenir lorsque vous travaillez avec des types de publication:

  • Lorsque vous créez un nouveau type de publication, un nouvel élément de navigation de niveau supérieur apparaît dans le menu principal de gauche. À partir de là, tous les éditeurs standard de pages et de pages sont disponibles..
  • La chaîne d'URL pour un nouveau type de publication sera: http://votresite.com/post-type/titleBuch/.
  • Vous pouvez créer des pages d'archive de type publication de la même manière qu'avec les catégories et vous pouvez même créer des fichiers de modèle spéciaux en créant un fichier archive- post-type .php..

"De la même manière que les publications sont affichées sur leurs propres archives avec archive.php, les types de publication personnalisés utiliseront archive- posttype .php."

Pour plus d'informations sur l'intégration des types de publication, l'interrogation des types de publication et les fonctions globales, visitez le codex ici..


Intégration de types de publication via Functions.php

L’intégration des types de postes consiste simplement à inclure les register_post_type une fonction. Une fois que vous avez inclus cela dans votre fichier functions.php, votre menu de navigation devrait partir de quelque chose comme ceci:

pour ça:

Pour créer des types de publication personnalisés, ouvrez le modèle functions.php fichier dans un éditeur et placez la fonction suivante dans le fichier:

 function create_post_type () register_post_type ('mysite_reviews', array ('labels' => array ('name' => __ ('Reviews'), 'nom_s singulier' => __ ('Review')), 'public' => true, 'menu_position' => 5, 'rewrite' => array ('slug' => 'reviews')));  add_action ('init', 'create_post_type');

En panne, cela ajoute la fonction create_post_type, et enregistre le type de message mysite_reviews,

 add_action ('init', 'create_post_type'); function create_post_type () register_post_type ('mysite_reviews',

Vous pouvez vous demander pourquoi j'ai nommé le post_type mysite_reviews, et pas seulement avis. J'ai rendu le nom plus visible afin de m'assurer que mon type de message n'interférerait pas avec les noms de type de message personnalisés d'autres plugins ou thèmes..

Autre rappel convivial, vos types de publication personnalisés ne doivent pas dépasser 20 caractères, car il s'agit de la limite de la colonne de la base de données..

Voici un résumé des paramètres de type de publication importants que j'ai définis ci-dessus:

  • Étiquettes - Wordpress nous permet de tout étiqueter, du nom du type d'article à l'étiquette pour l'ajout de nouveaux articles. Une liste complète peut être trouvée ici. Dans la fonction ci-dessus, j'ai étiqueté le nom du type de message et son nom singulier.
  • Publique - Si défini sur true
  • menu_position - Je règle ceci à 5, ce qui placera le type de message directement sous "Messages". Les autres placements sont les suivants: nul (ci-dessous Commentaires), 0 (ci-dessous Media), 20 (sous Pages), 60 (en dessous du premier séparateur) et 100 (en dessous du second séparateur)
  • récrire - Pour que notre terme actuel "mysite_reviews" ne soit pas mis dans l'URL, nous avons paramétré le slug sur "reviews", ce qui sera bien meilleur à long terme pour nos visiteurs, nos liens et notre référencement..

Pour plus d'informations

Une liste complète des arguments de paramètre pour les types de publication peut être trouvée ici.


Affichage des types de publication dans les thèmes Wordpress

Les types de publication Wordpress n'étant que le prolongement du système de classification existant, leur affichage dans un thème est assez similaire à ce qui est déjà en place. Il existe actuellement trois méthodes principales pour afficher des types de publication personnalisés dans vos thèmes:

  • Publier une requête
  • Modèle de poste unique
  • Modèle d'archive

Affichage via post-requête

Pour afficher le nouveau type de message mysite_reviews, vous voudrez ouvrir le fichier modèle sur lequel vous souhaitez l’afficher (dans mon cas, je crée habituellement un fichier personnalisé). home.php pour les modèles) et entrez le code suivant:

 $ args = array ('post_type' => 'mysite_reviews', 'posts_per_page' => 10); $ loop = new WP_Query ($ args); while ($ loop-> have_posts ()): $ loop-> the_post (); le titre(); écho '
'; the_excerpt (); écho '
'; en attendant;

Cela crée simplement une nouvelle boucle Wordpress qui affiche le titre et un extrait des 10 entrées les plus récentes de la liste. mysite_reviews Type de poste.

Affichage via un modèle de publication unique

Tout comme vous pouvez personnaliser la manière dont les publications sont affichées via le fichier single.php d'un thème, vous pouvez personnaliser la façon dont vos entrées de type de publication sont affichées. Pour ce faire, le plus simple est de créer une copie du fichier single.php de votre thème et de le renommer. single- posttypename .php. De là, vous pouvez personnaliser ce fichier selon vos spécifications. En utilisant l'exemple ci-dessus, nous aurions besoin d'un seul modèle de publication nommé single-mysite_reviews.php.

Affichage par modèle d'archive

Bien que cette fonctionnalité ne soit pas disponible avant les versions de WP 3.1, les types de publication peuvent également être affichés sous forme d'archive en créant un fichier dans votre thème nommé archive- posttypename .php. Donc, si nous créions une archive pour le type de publication, nous créerions un modèle d’archive nommé archive-mysite_reviews.php et placez-le dans notre dossier de modèles.

Avec la création de modèles de type d'article personnalisé, les créateurs de thème personnalisé peuvent créer plus facilement des sites d'abonnement et des sites d'adhésion en limitant le contenu de ces articles et pages spécifiques à des groupes d'utilisateurs spécifiés..


Un aperçu rapide des taxonomies WP

Je n’entrerai pas dans les détails, Paul Kaiser a déjà écrit un bon aperçu des taxonomies et du code nécessaire à la mise en oeuvre de la fonction (voir le tutoriel ici). Le mot clé à retenir lors de la réflexion sur les taxonomies est classification. Elles ressemblent aux balises mais permettent une classification plus profonde et plus spécifique au contenu..

En vérité, ils constituent un moyen extrêmement puissant de regrouper divers objets de différentes manières..

Par exemple, supposons que j’utilise le Avis type de poste d'en haut. Parce que je vais certainement vouloir classer ce type de message large, je peux créer des taxonomies telles que:

  • Critiques de films
  • Les critiques de livres
  • Avis du produit

Avec les taxonomies personnalisées, je pourrais même approfondir la classification des taxonomies ci-dessus. Je pourrais entrer dans les genres de films, les auteurs de livres et les marchés de produits. Encore une fois, avec les types de publication, ceux-ci augmentent considérablement les capacités de gestion de contenu de Wordpress.


Intégration des taxonomies via Functions.php

Globalement, les taxonomies sont assez faciles à mettre en œuvre dans votre functions.php fichier. N'oubliez pas que vous pouvez les hiérarchiser ou les traiter comme des balises. Plus vous voulez complexe, plus la difficulté est grande. Quoi qu'il en soit, voici un bref aperçu de la manière de les intégrer à votre thème..

Encore une fois, ouvrez votre fichier functions.php et insérez le code suivant:

 function movie_taxonomy () register_taxonomy ('movie_review', 'mysite_reviews', array ('hierarchical' => true, 'label' => 'Critique de film', 'query_var' => true, 'rewrite' => array ('slug '=>' critiques de films ')));  add_action ('init', 'movie_taxonomy');

Pour décomposer cela, nous donnons d’abord un nom officiel à la taxonomie ("movie_review"), et nous le plaçons sous le type de message "mysite_reviews", créé précédemment..

 fonction movie_taxonomy () register_taxonomy ('movie_review', 'mysite_reviews',

Ensuite, nous passons ces valeurs:

 array ('hierarchical' => true, 'label' => 'Critique du film', 'query_var' => true, 'rewrite' => array ('slug' => 'movie-reviews'))

Ceci fournit les arguments suivants:

  • hiérarchique - Lorsqu'elle est définie sur "true", la taxonomie agira davantage comme une catégorie. Il peut exister des taxonomies parentales et des taxonomies imbriquées permettant une plus grande profondeur de classification. Lorsqu'il est défini sur "false", ils agissent comme des balises.
  • étiquette - Comme pour les types de message ci-dessus, il s'agit de l'étiquette que la taxonomie recevra publiquement.
  • query_var - Lorsqu'il est défini sur "true", cette taxonomie devient un élément interrogeable.
  • récrire - Ceci définit la réécriture de l'URL. Les articles de cette taxonomie seront désormais affichés sous la forme http://mysite.com/movie-reviews/post title /.

Le résultat final dans notre navigateur d'administration devrait ressembler à ceci:

En outre, nous pouvons plonger dans cette interface et ajouter davantage de catégories et de structures de classification. Cette interface ressemble à l’interface avec laquelle vous êtes peut-être déjà familiarisé..

À partir de cette interface, vous pouvez modifier les slugs des différentes catégories de votre taxonomie, créer de nouvelles catégories et déterminer les catégories parent et enfant..

Pour plus d'informations

Une liste complète des arguments de paramètres pour les taxonomies peut être trouvée ici.


Affichage des taxonomies dans les thèmes Wordpress

Il existe actuellement trois méthodes principales pour afficher des types de publication personnalisés dans vos thèmes:

  • Taxonomie Cloud
  • Requête de taxonomie personnalisée
  • Liste de taxonomie personnalisée

Taxonomie Cloud

Tout comme il existe des nuages ​​de mots-clés, il existe des nuages ​​de taxonomie. Pour faciliter les choses, les balises et les nuages ​​utilisent le wp_tag_cloud une fonction. Afin d'afficher un tableau de catégories de taxonomie dans un nuage, nous utiliserions le code suivant:

  'taxonomy_name_1', 'taxonomy_name_2')); ?>

Pour plus d'informations sur la fonction et ses arguments de paramètres, visitez le site du codex..

Requête de taxonomie personnalisée

Des taxonomies peuvent également être incluses dans les requêtes personnalisées, tout comme nous l'avons fait avec les types de publication ci-dessus. Par exemple, pour afficher le contenu de la taxonomie genre de film, nous aurions besoin d'insérer le code suivant dans notre fichier de modèle:

 $ args = array ('tax_query' => array ('taxonomy' => 'movie_genre', 'field' => 'slug', 'terms' => 'comédie')); query_posts ($ args);

Tout d'abord, nous utilisons l'argument tax_query afin que nous puissions passer des paramètres qui nous permettront d’interroger par slug ou par terme et de renvoyer des résultats de requête plus précis. Dans cet exemple, nous avons affiché les articles étiquetés comme "comédie" dans la taxonomie personnalisée "movie_genre". De nouveau, comme nous l'avons fait avec les types d'article, nous pouvons limiter le nombre d'articles que cette requête renvoie.

Listes de taxonomie personnalisées

Pour afficher une liste de publications délimitées par des virgules par taxonomie, il suffit de placer les éléments suivants quelque part dans la boucle:

 ID, 'nom de taxonomie', 'Titre affiché:', ',', ");?>

Il y a d'autres options d'affichage pour cette liste, et les paramètres peuvent être trouvés ici.


Utilisation de types de publication et de taxonomies dans votre prochain projet

Maintenant que nous avons les bases, je me suis dit: "Pourquoi est-ce que je me soucie de ces choses?" C'est une question vraiment juste. Les possibilités avec les types de publication et les taxonomies, en particulier de travailler avec des clients souvent trop occupés pour gérer les subtilités d'un site, sont infinies. Ceci, à mon avis, fait gagner du temps sur la création de nouvelles fonctions d’administration et la mise à jour de plugins, et ouvre la voie à de nouvelles possibilités avec beaucoup moins de travail (et de codage) impliqué.

Vous trouverez ci-dessous quelques idées sur la manière de les intégrer au travail réel:

1. Sites de révision

Premièrement, un site de révision pourrait tirer parti des options de création de modèles personnalisées répertoriées ci-dessus (unique et archive).

Voici d'autres types de messages et taxonomies que vous pouvez implémenter sur un site de révision:

  • Type de poste - Critiques de films
  • Taxonomies - Genre, Acteur, Réalisateur
  • Type de poste - Les critiques de livres
  • Taxonomies - Genre, Auteur, Editeur
  • Type de poste - Avis du produit
  • Taxonomies - Catégorie de produit, prix

2. Sites d'inscription de biens immobiliers

Bien qu'il existe de bons modèles pour les sites d'annonces immobilières, les types d'articles et les taxonomies permettent aux créatifs de créer des modèles personnalisés qui peuvent facilement être gérés par les clients et les webmasters. Voici quelques idées à utiliser dans votre prochain projet:

  • Type de poste - Inscriptions
  • Taxonomies - Région, Agent, Prix, Chambres
  • Type de poste - Agents

3. Liste des événements

Une chose qui manque vraiment à Wordpress (à mon avis) est un bon système de gestion des événements. Les types de poste et les taxonomies pourraient facilement s'en occuper en offrant un système permettant de classer les événements mensuels par lieu, par jour ou par tout autre système auquel vous pourriez penser..

4. Sites d'abonnement

Avec la création d'un nouveau type d'article et d'un nouveau modèle, vous pouvez créer une catégorie premium personnalisée pour votre blog ou votre site Web et intégrer une passerelle de paiement pour créer votre propre site d'adhésion..

5. Commerce électronique

En créant un type d'article et un modèle, vous pouvez facilement ajouter et afficher des produits en vente sur votre site. De plus, les taxonomies permettraient une organisation facile du produit.


Où allons-nous à partir d'ici?

J'espère que ce tutoriel a expliqué les types de publication et les taxonomies dans Wordpress 3.0, et pourquoi ils constituent une ressource extrêmement précieuse à implémenter dans vos projets. Je sais qu’il existe de nombreux défenseurs des plugins (et je suis moi-même un auteur de plugins), mais j’espère avoir bien expliqué que la mise en oeuvre de ces choses est une tâche très simple qui vous fera gagner du temps le long terme.

La liste d'idées ci-dessus est au mieux une petite, alors j'aimerais savoir comment vous l'avez mise en œuvre dans vos projets ou peut-être d'autres utilisations que je n'ai pas énumérées.

Merci beaucoup pour la lecture!