Comprendre et utiliser les métadonnées dans WordPress

Jusqu'à présent dans cette série, nous avons examiné les principaux types de contenu dans WordPress. Mais qu'en est-il des données supplémentaires sur tout ce contenu? 

C'est là que les métadonnées entrent en jeu.

Comme je l'ai déjà expliqué dans une partie de cette série, WordPress contient quatre types de contenu principaux qu'il stocke dans quatre tables de base de données:

  • des postes
  • utilisateurs
  • commentaires
  • liens

Les trois premiers peuvent également se voir attribuer des métadonnées, et chacune a sa propre table de métadonnées dans la base de données pour stocker cet objet..

Qu'est-ce que les métadonnées??

Les métadonnées peuvent être décrites comme des données sur des données. Wikipedia définit deux types de métadonnées:

Métadonnées structurelles concerne la conception et la spécification des structures de données et est plus correctement appelé "données sur les conteneurs de données"; métadonnées descriptives, d’autre part, concerne des instances individuelles de données d’application, le contenu des données.

Selon cette définition, WordPress utilise des métadonnées descriptives. Ce que nous définissons comme des données dans WordPress et ce que l’on peut définir comme des métadonnées est un peu flou et n’est pas directement assimilé à ce qui est stocké dans les tables de métadonnées. Par exemple:

  • Pour les postes, Type de poste est un exemple de métadonnées, mais il est stocké dans le wp_posts table
  • Les termes de taxonomie, les catégories et les balises peuvent également être définies de manière approximative en tant que métadonnées, mais elles sont stockées de manière totalement séparée, dans leurs propres tables de base de données..
  • Les métadonnées post, telles que les champs personnalisés et les métadonnées supplémentaires ajoutées via des plugins, sont stockées dans la mémoire. wp_postmeta table, comme on peut s'y attendre.

Il est donc plus facile de penser aux métadonnées dans WordPress non pas selon la définition stricte du terme, mais comme les données stockées dans les trois tableaux de métadonnées.

Les tables de métadonnées

WordPress utilise trois tables de base de données pour les métadonnées:

  • wp_postmeta stocke les métadonnées sur les articles (y compris les pièces jointes, les éléments de menu de navigation et les révisions)
  • wp_commentmeta stocke les métadonnées sur les commentaires
  • wp_usermeta stocke les métadonnées sur les utilisateurs

Le seul type d'objet dans WordPress qui n'a pas de métadonnées est le lien..

Les tables de métadonnées sont presque identiques en ce qu’elles n’ont que quatre champs:

  • ID est l'identifiant de la publication, de l'utilisateur ou du commentaire auquel les métadonnées se rapportent
  • Le méta-ID fait référence à l'ID de l'enregistrement de métadonnées
  • Key est la méta clé (qui est souvent dupliquée entre différents enregistrements)
  • La valeur est la méta valeur (qui a tendance à être unique)

WordPress peut utiliser cette structure pour stocker de grandes quantités de métadonnées à l'aide d'une structure simple. Cela signifie que les fonctions que vous utilisez pour afficher et interroger les métadonnées des publications, des utilisateurs et des commentaires sont très similaires..

Métadonnées stockées par WordPress

Les métadonnées stockées dans une installation WordPress individuelle seront différentes de celles stockées dans une autre installation, car les plug-ins et les thèmes peuvent ajouter leurs propres métadonnées, et parce que vous aurez besoin de définir des métadonnées spécifiques sur certains sites.. 

Mais regardons quelques-uns des types de métadonnées les plus courants:

  • Les champs personnalisés. Celles-ci s'appliquent aux articles et sont donc stockées dans le wp_postmeta table. Vous pouvez les ajouter à l'aide de l'interface standard des champs personnalisés ou en créant vos propres métaboxes dans les écrans de post-édition. Cela peut être particulièrement utile lorsque vous souhaitez que les utilisateurs puissent ajouter des métadonnées à un type de publication spécifique et que vous souhaitiez rendre l'interface aussi conviviale que possible..
  • Métadonnées de l'utilisateur. le wp_usermeta table stocke les métadonnées sur la plupart des utilisateurs, telles que les rôles, les fonctionnalités, les paramètres de tableau de bord et même les noms et prénoms.
  • Métadonnées ajoutées par des plugins et des thèmes. Les plugins avec des fonctionnalités de commentaires tels que Akismet ajouteront des métadonnées à la wp_commentmeta table, tandis que les plugins qui vous permettent d’ajouter des métadonnées à des messages, tels que les plugins SEO, ajouteront des enregistrements à la liste. wp_postmeta table. Vous pouvez théoriquement ajouter des métadonnées via votre thème, mais il est plus logique de le faire dans un plugin, car il est généralement lié à la fonctionnalité et non à l'affichage..

Bien sûr, la liste n'est pas limitée à ces types. En fait, toutes les données sur les publications, les commentaires ou les utilisateurs qui ne peuvent pas être stockées dans leurs tables de base de données principales seront stockées dans les tables de métadonnées pertinentes.. 

Si vous ajoutez un nouveau champ pour stocker des données, vous devez toujours utiliser ces tables et non les tables principales..

Accéder aux métadonnées et les sortir

WordPress possède une API de métadonnées que vous utilisez pour ajouter, modifier, obtenir et supprimer des métadonnées. Il existe toute une gamme de fonctions spécifiques à chaque type de métadonnées que vous utilisez pour générer des métadonnées dans vos fichiers de modèle: vous devez les utiliser à la place des fonctions de métadonnées génériques..

Les fonctions de l'API de métadonnées pour chaque type de contenu sont très similaires et ont les mêmes paramètres:


Ajout de métadonnées Obtenir des métadonnées Mise à jour des métadonnées Supprimer des métadonnées
Des postes add_post_meta () get_post_meta () update_post_meta () delete_post_meta ()
Utilisateurs add_user_meta () get_user_meta () update_user_meta () delete_user_meta ()
commentaires add_comment_meta () get_comment_meta () update_comment_meta () delete_comment_meta ()
Paramètres $ post_id, $ meta_key, $ meta_value, $ unique (optionnel) $ post_id, $ meta_key, $ single (optionnel), 
$ post_id, $ meta_key, $ meta_value, $ prev_value (optionnel) $ post_id, $ meta_key, $ meta_value (optionnel)

Ces fonctions peuvent être utilisées dans vos fichiers de modèles et vos plugins. Par exemple, dans le modèle de publication unique de votre thème, vous pouvez utiliser les éléments suivants pour générer des métadonnées relatives à la publication:

Ceci est juste un moyen très simple de sortir des métadonnées - il y a beaucoup plus de possibilités, dont certaines que je couvrirai plus tard dans cette série.

Résumé

WordPress utilise trois tables de métadonnées pour stocker des données sur trois types de contenu: les publications, les utilisateurs et les commentaires. Ces tables sont utilisées pour tout ce qui n'est pas stocké dans le noyau wp_posts, wp_users et wp_comments tables, et sont les tables sur lesquelles vous devez écrire des données si vous ajoutez de nouveaux champs via des thèmes ou des plugins. Les trois tables fonctionnent de manière presque identique et ont des fonctions très similaires que vous pouvez utiliser pour ajouter, mettre à jour, supprimer et obtenir des métadonnées..

Comme je l'ai mentionné ci-dessus, les termes de taxonomie pourraient être vus comme un autre type de métadonnées dans WordPress, et voici ce que je vais couvrir dans la prochaine partie de cette série..