Un site Web WordPress est composé de trois éléments principaux:
wp-content
répertoire qui inclut les thèmes, les plugins et les téléchargementsLa plupart des utilisateurs de WordPress n'entrent jamais en contact direct avec la base de données et ne se rendent peut-être même pas compte que le travail est constamment fait pour remplir leur site. Lorsque WordPress affiche n'importe quel type de page, que ce soit la page d'accueil, une publication ou une page unique ou une archive, il accède à la base de données pour afficher le contenu que les éditeurs et les administrateurs ont ajouté au site..
Dans cette série de didacticiels, je vais examiner en détail différents aspects de la base de données WordPress. La série comportera neuf parties couvrant les domaines suivants:
Dans cette introduction, je vais donner un aperçu des tables de base de données et de leur lien avec les types de contenu avec lesquels vous êtes habitué à travailler dans WordPress, et identifier ce qui est stocké où.
Comme les tables de base de données sont utilisées pour stocker du contenu, vous devez d'abord comprendre le contenu avant de pouvoir les comprendre. Il existe un certain nombre de types de contenu dans WordPress:
Ces types de contenu sont ensuite associés à des données:
En plus de ceux-ci, il existe d'autres types de contenu qui sont stockés différemment:
Tous ces types de contenu sont stockés quelque part dans la base de données (ou occasionnellement dans des thèmes ou des plugins, comme je le montrerai). Ils peuvent avoir leur propre entrée ou faire partie d'une autre entrée (par exemple, un contenu en streaming codé dans un message). Ils peuvent également être liés aux données d’autres tables. Par exemple, les données sur les publications seront liées aux données sur les utilisateurs afin que WordPress sache qui est l'auteur des publications..
WordPress utilise une gamme de tables de base de données avec des relations entre elles pour minimiser la quantité de données à stocker - cela crée des relations un à plusieurs. Cela signifie qu’un utilisateur peut avoir plusieurs publications qu’il a créées en relation avec son enregistrement d’utilisateur. Cela économise de l'espace. Si WordPress stockait toutes les données utilisateur de chaque utilisateur contre chaque message publié, cela signifierait beaucoup de données répétées et beaucoup d'espace..
Le diagramme ci-dessous est tiré du codex WordPress et montre les tables de la base de données et leur lien:
La plupart des tables sont liées à une ou plusieurs autres tables via un champ. Ce champ sera un identifiant unique pour chaque enregistrement tel que post_id
. Ceci est montré plus en détail dans ce tableau:
Table | Données stockées | Lié à |
---|---|---|
wp_posts | Articles, pages, pièces jointes, révisions et éléments de menu de navigation | wp_postmeta (via post_id )wp_term_relationships (via post_id ) |
wp_postmeta | Métadonnées pour chaque poste | wp_posts (via post_id ) |
wp_comments | commentaires | wp_posts (via post_id ) |
wp_commentmeta | Métadonnées pour chaque commentaire | wp_comments (via comment_id ) |
wp_term_relationships | Relations entre les postes et les taxonomies | wp_posts (via post_id )wp_term_taxonomy (via term_taxonomy_id ) |
wp_term_taxonomy | Taxonomies (y compris les catégories et les balises) | wp_term_relationships (via term_taxonomy_id ) |
wp_terms | Vos catégories et tags et les termes attribués à des taxonomies personnalisées | wp_term_taxonomy (via term_id ) |
wp_links | Les liens dans votre blogroll (si vous en avez toujours un) | wp_term_relationships (via link_id ) |
wp_users | Utilisateurs | wp_posts (via post_author ) |
wp_user_meta | Métadonnées pour chaque utilisateur | wp_users (via identifiant d'utilisateur ) |
wp_options | Paramètres et options du site (définis via les écrans de configuration, les plugins et les thèmes) | n / a |
Quelques choses à noter:
wp_
préfixe par défaut. Vous pouvez changer cela quand vous configurez votre site mais cela n'a pas beaucoup de valeur.wp_posts
table, où la plupart de vos données seront stockées. Cela tient (presque) tout le reste ensemble.wp_options
table. Cette table stocke des données sur le site et l'installation de WordPress, qui ne sont pas liées aux données sur les publications ou les utilisateurs..wp_users
et wp_comments
les tables ne sont pas liées - bien qu'il soit possible de spécifier que les utilisateurs doivent être enregistrés pour pouvoir commenter, WordPress n'enregistre pas les données relatives aux commentaires pour chaque utilisateur qui les a postées. Après avoir examiné les types de contenu dans WordPress et les tables de base de données utilisées pour les stocker, il peut être utile de faire correspondre les deux. Le tableau ci-dessous montre la table de base de données utilisée pour stocker chaque type de contenu..
Type de contenu | Les tables) |
---|---|
des postes | wp_posts |
des pages | wp_posts |
types de messages personnalisés | wp_posts |
pièces jointes | wp_posts |
liens | wp_links |
éléments de menu de navigation | wp_posts |
catégories | wp_terms |
Mots clés | wp_terms |
taxonomies personnalisées | wp_term_taxonomy |
termes de taxonomie | wp_terms |
publier des métadonnées | wp_post_meta |
widgets | wp_options |
options | wp_options |
utilisateurs | wp_users |
contenu codé en dur | wp_posts (si ajouté aux articles)wp_options (si ajouté aux widgets)Fichiers de thèmes et de plugins (si codés en dur) |
contenu de tiers | wp_posts (si ajouté aux articles)wp_options (si ajouté via des widgets ou des plugins)Fichiers de thèmes et de plugins (si codés en dur) |
Vous avez peut-être remarqué que toutes les tables de la base de données ne sont pas incluses dans cette table. En effet, certaines d'entre elles sont utilisées pour stocker des métadonnées et d'autres pour stocker des relations qui seront abordées plus en détail ultérieurement dans cette série..
J'espère que vous avez maintenant une meilleure compréhension de comment et où WordPress stocke différents types de données à l'aide de la structure de la base de données. Cette série examinera tous les aspects de cette question plus en détail.
Dans la partie suivante, je vais examiner les relations entre les données et examiner plus en détail la façon dont des tables spécifiques sont liées et comment certaines sont utilisées uniquement pour stocker des données sur les relations..