Dans les deux premières parties de cette série, j'ai présenté la base de données WordPress et sa structure, ainsi que la gestion des relations entre différents types de contenu..
Ici, je vais examiner les types de contenu plus en détail et décrire les différents types de contenu dans WordPress et leur interaction..
Lorsque nous pensons au contenu dans WordPress, nous pensons normalement aux publications et aux pages. Mais les choses ne sont pas si simples. WordPress utilise un certain nombre de types de contenu, et les articles et les pages ne sont que deux exemples de l’un d’eux..
Comprendre les types de contenu, leur mode de stockage et leur interaction vous aidera à mieux comprendre WordPress à un niveau plus avancé et à rédiger des requêtes avancées pour vos thèmes et vos plugins..
Nous allons jeter un coup d'oeil!
Il existe quatre types de contenu dans WordPress:
Beaucoup se comportent de la même façon, comme nous le verrons.
Les articles sont le type de contenu le plus important dans WordPress. La terminologie qui les entoure peut être source de confusion car post est utilisé pour décrire quoi que ce soit dans le wp_posts
table, mais il est également utilisé pour décrire un type de publication particulier. Ajouter ce qui suit à une requête peut sembler superflu mais cela a du sens!
'post_type' => 'post'
Il existe cinq types de publication par défaut intégrés dans WordPress, à savoir:
Comme je l'ai expliqué dans le didacticiel précédent sur cette série, qui couvre les relations entre les données, les publications peuvent être liées les unes aux autres. Ceci est généralement utilisé pour définir le post ou la page auquel une pièce jointe est attachée et la page qui est le parent d'une autre page..
Les trois premiers types de publications seront familiers aux développeurs WordPress, mais il est moins évident que les deux derniers soient des publications. Chaque révision est enregistrée dans le wp_posts
table avec le poste auquel elle se rapporte en tant que parent (en utilisant post_parent
champ) et les éléments du menu de navigation sont enregistrés en tant que publications, puis sortis via une requête lorsque le menu est affiché. C’est pourquoi les menus de navigation peuvent soudainement disparaître si vous utilisez la commande pre_get_posts ()
filtrer de manière incorrecte!
Vous pouvez ajouter autant de types d'articles supplémentaires que nécessaire pour votre site, en créant des types d'articles personnalisés. Ce ne sont que des types de publication supplémentaires qui se comportent de la même manière que des publications, des pages ou des pièces jointes, en fonction de la manière dont vous les avez configurés lors de l'enregistrement du type de publication..
Le diagramme ci-dessous montre la wp_posts
table et les tables auxquelles elle est liée:
Les commentaires sont stockés dans leur propre table de base de données, wp_comments
. Ils fonctionnent de la même manière que les messages, dans la mesure où chacun peut se voir attribuer des métadonnées via le wp_commentmeta
table, mais ont un contenu différent et des champs différents sont donc requis pour leur table.
Les commentaires seront liés aux articles via une relation un à plusieurs. Ils sont également liés les uns aux autres à l'aide du comment_parent
champ - il est utilisé pour identifier les commentaires qui sont des réponses à d'autres commentaires. Ils peuvent aussi éventuellement être liés à la wp_users
table s'ils sont créés par des utilisateurs connectés.
Le diagramme montre la wp_comments
table et ses relations:
Les utilisateurs ont leur propre table, wp_users
, et ont également des métadonnées stockées dans le wp_usermeta
table. À première vue, les utilisateurs peuvent sembler être un type de contenu très différent des messages, mais ils sont plus semblables que vous ne le pensez - ils peuvent être interrogés et publiés dans une archive d'auteur et ils ont un contenu sous la forme de données biographiques sur les utilisateurs. Ce contenu est structuré très différemment des publications, des liens et des commentaires, raison pour laquelle les utilisateurs ont besoin de leur propre tableau..
Le diagramme montre la wp_users
table et ses relations:
Vous en apprendrez plus sur les données utilisateur et leur lien avec d'autres tables dans une partie ultérieure de cette série..
Le type de contenu final est le lien. Celles-ci ont presque toutes été supprimées par WordPress, la blogroll n'étant plus disponible par défaut depuis la version 3.5..
Les liens fonctionnent de la même manière que les publications en ce sens qu’ils ont un contenu et qu’on peut leur attribuer des termes de taxonomie. Cependant, ils diffèrent des articles en ce qu'ils ont des champs assez différents, utilisés pour stocker des données sur la cible du lien, sa description, etc. Ils ne sont pas liés à des utilisateurs et ne peuvent donc pas être affectés à un auteur. De plus, ils ne possèdent pas de champ permettant d'identifier un parent. Ils ne peuvent donc pas être attachés à une publication. Vous pouvez toutefois utiliser des taxonomies pour les inclure dans les pages d'archives..
le wp_links
table et ses relations avec les autres tables sont indiquées ci-dessous:
Parmi les quatre types de contenu décrits ci-dessus, trois peuvent se voir affecter des métadonnées:
Je regarderai les métadonnées plus en détail dans la suite de cette série et vous montrerai comment elles sont stockées..
Comme nous l'avons vu, WordPress utilise divers types de contenu pour stocker des données et leurs relations. Les types de contenu stockés dans la base de données ne se limitent pas aux publications et aux pages, mais incluent également vos propres types de publication personnalisés, ainsi que d'autres types de contenu tels que pièces jointes, révisions et éléments de menu de navigation..
Comprendre ce qu’est chacun de ces éléments et son fonctionnement, ainsi que leurs similitudes et leurs différences, vous aidera à développer des thèmes et des plugins WordPress plus puissants..