Comprendre et utiliser les publications dans WordPress

Comme de nombreux exemples de terminologie WordPress, le terme "publications" peut prêter à confusion, car il fait référence à un type de publication ainsi qu'à un type de contenu stocké dans une table de base de données spécifique.. 

Ici, je vais clarifier la différence entre les deux et examiner les types de publication en détail.

Dans la partie précédente de cette série, j'ai examiné les différents types de contenu dans WordPress, qui sont stockés dans un certain nombre de tables de base de données différentes. Ceux-ci sont:

  • des postes
  • utilisateurs
  • commentaires
  • liens

Dans ce didacticiel, j'examinerai les articles de manière plus détaillée et décrirai les types d'articles, les relations entre eux et la compréhension de tout cela pour vous aider à les utiliser..

Définir des messages

Premièrement, je commencerai par définir les messages et leurs différences (oui, cela crée de la confusion et ajouter une lettre majuscule ne rend pas les choses beaucoup plus claires!):

  • UNE poster est un élément de contenu stocké dans le wp_posts table. Chacun a un Type de poste qui lui est attribué, ce qui pourrait être poster, page ou autre chose.
  • Post est un type de message, utilisé pour les articles de blog ou d'actualités en fonction du type de site que vous développez..

le wp_posts la table est montrée dans l'image ci-dessous.

Avoir un sens? Sinon, continuez à lire, tout deviendra clair!

Types de post dans WordPress

WordPress est livré avec cinq types de post intégrés:

  • Poster
  • Page
  • Attachement
  • Révision
  • Élément de menu de navigation

En plus de cela, vous pouvez ajouter vos propres types d'articles personnalisés à l'aide du register_post_type () fonction, ce qui signifie que votre installation WordPress peut avoir autant de types de publication que vous le souhaitez. Chaque type de message a le même statut que les types de message intégrés. J'ai parfois entendu parler de personnes qui pensaient que le "type de message personnalisé" était un type de message lui-même. Ce n'est pas!

Je vais illustrer cela avec un exemple. Lors de l'écriture d'une requête personnalisée pour les publications, vous ajouteriez ce qui suit aux arguments de votre requête:

'post_type' => 'post'

Mais si vous avez créé un type de message personnalisé appelé mon_post_type, vous l'interrogeriez comme suit:

'post_type' => 'mon_post_type'

Vous pouvez utiliser ceci Type de poste argument pour interroger n’importe quel type de publication, et vous pouvez en effet interroger plusieurs types de publication si vous le souhaitez Je n’entrerai pas dans les détails car cela sort du cadre de ce tutoriel, mais vous pouvez en lire plus sur la page WordPress Codex pour plus de détails. WP_Query.

Comprendre les types de publication par défaut

Examinons rapidement chacun des types de publication intégrés, leur ressemblance et leurs différences. Notez que dans le tableau ci-dessous, j’utilise le terme poste au sens générique pour décrire le contenu de tous les types de publication..

Type de poste Utilisé pour Remarques
Poster Articles de blog ou similaires Type de message principal - répertorié sur la page principale du blog
Page Pages statiques Conçu pour être affiché seul - généralement pas utilisé dans les archives (bien qu'ils puissent l'être).
Les pages peuvent avoir des parents, définis à l'aide du post_parent champ dans l'enregistrement pour la page enfant.
Chaque page peut avoir plusieurs enfants mais un seul parent.
Attachement Documents et images (qui peuvent ou non être attachés à un message) Les médias chargés dans un message auront l'identifiant de ce message dans son post_parent champ. Les images téléchargées via l'écran Multimédia dans le tableau de bord auront ce champ vide. le guid le champ est utilisé pour stocker l'URL du fichier multimédia.
Révision Révisions individuelles à chaque poste Chaque révision est attachée à un article: le ID de ce poste sera stocké dans la révision post_parent champ.
Eléments du menu de navigation Eléments de menu de navigation individuels Chaque menu contiendra un certain nombre d'éléments de navigation, chacun d'entre eux étant stocké dans une publication. le menu_order Ce champ est utilisé pour stocker des informations sur l'ordre des éléments de menu de navigation. Des données supplémentaires, telles que les éléments de menu cible et parent, sont stockées sous forme d'enregistrements dans le répertoire. wp_postmeta table.

Les types de publication personnalisés peuvent être enregistrés pour se comporter de la même manière que l'un des types de publication intégrés (sauf attachement), mais la valeur par défaut est poster. Chacun des types de poste a sa propre interface.

Relations entre les postes

Comme vous pouvez le voir dans le tableau ci-dessus, le post_parent Ce champ est important car il stocke des informations sur les relations entre différents postes. Ceux-ci inclus:

  • pages parent et enfant
  • les révisions et le poste auquel elles se rapportent
  • les pièces jointes et le poste, ils ont été téléchargés

Vous pouvez utiliser le post_parent champ de différentes manières dans vos requêtes. Par exemple, pour interroger des pages enfants d’une page donnée, vous utiliseriez ce qui suit, où ID est l'ID de la page parente:

'post_parent' => 'ID'

Vous pouvez utiliser une requête similaire pour afficher les pièces jointes téléchargées dans une publication donnée ou interroger des pièces jointes sans parent (c'est-à-dire celles téléchargées directement sur l'écran de média du tableau de bord).. 

Pour ce faire, vous utiliseriez l'argument suivant:

'post_parent' => '0'

Il est très peu probable que vous ayez besoin d'interroger les révisions, car vous voulez seulement que les visiteurs voient votre contenu publié..

Vous pouvez aussi utiliser post_parent_in avec un tableau d'identifiants pour identifier les enfants d'une série de publications ou de pages.

Résumé

Comprendre le wp_posts table et ce qu’elle stocke est une partie essentielle de la compréhension de la base de données WordPress. Comme vous l'avez vu, le wp_posts La table est utilisée pour stocker les publications, ce qui inclut cinq types de publication intégrés (y compris les publications) ainsi qu'un nombre quelconque de types de publication personnalisés que vous ajoutez vous-même.. 

La table stocke également des données sur les relations entre les publications, dans post_parent champ.