Maison  >  Article  >  Tutoriel CMS  >  Gestion des données de référence dans WordPress

Gestion des données de référence dans WordPress

PHPz
PHPzoriginal
2023-08-31 23:21:101476parcourir

Un site WordPress se compose de trois éléments principaux :

  1. L'installation WordPress elle-même
  2. wp-content Contenu du répertoire, qui comprend des thèmes, des plugins et des téléchargements
  3. Base de données, où tout est stocké.

La plupart des utilisateurs de WordPress n’ont jamais touché directement à une base de données et ne savent peut-être même pas qu’elle alimente constamment leur site Web. Lorsque WordPress sert n’importe quel type de page, qu’il s’agisse d’une page d’accueil, d’un article ou d’une page unique ou d’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 tutoriels, j'entrerai dans le détail sur différents aspects de la base de données WordPress. La série sera divisée en neuf parties et couvrira les éléments suivants :

  1. Présentation
  2. Relations entre les données
  3. Type de contenu
  4. Données utilisateur
  5. Métadonnées
  6. Taxonomies, catégories, balises et termes
  7. Taxonomies et métadonnées de publication
  8. Tableau des options
  9. Données multisites WordPress

Dans cette introduction, je donnerai un aperçu des tables de base de données et de leur relation avec les types de contenu avec lesquels vous avez peut-être l'habitude de travailler dans WordPress, et j'identifierai où stocker votre contenu.

Types de contenu dans WordPress

Étant donné que les tables de base de données sont utilisées pour stocker du contenu, vous devez comprendre le contenu avant de le comprendre. Il existe de nombreux types de contenu dans WordPress :

  • Messages
  • Page
  • Types de publication personnalisés
  • Accessoires
  • Lien
  • Éléments du menu de navigation (stockés dans des publications séparées)

Ces types de contenu comportent des données ajoutées :

  • Catégorie
  • étiquettes
  • Taxonomies et terminologie personnalisées
  • Publier les métadonnées

En plus de cela, il existe d'autres types de contenus qui sont stockés de différentes manières :

  • Widgets
  • Options
  • Utilisateur
  • Site (pour installation multi-sites)
  • Contenu codé en dur (ajouté à votre thème ou plugin)
  • Contenu provenant d'ailleurs (contenu tiers accessible via un flux, un streaming ou une autre technologie)

Tous ces types de contenu sont stockés quelque part dans la base de données (ou occasionnellement dans un fichier de thème ou de plugin, comme je vais vous le montrer). Ils peuvent avoir leur propre entrée ou faire partie d’une autre entrée (par exemple, diffuser du contenu encodé dans une publication). Ils peuvent également être liés aux données d'autres tableaux. Par exemple, les données sur les publications seront liées aux données sur les utilisateurs afin que WordPress sache qui a écrit quelles publications.

Structure de la base de données WordPress

WordPress utilise une série de tables de base de données et les relations entre elles pour minimiser la quantité de données qui doivent être stockées - cela crée une relation un-à-plusieurs. Cela signifie qu'un utilisateur peut avoir de nombreuses publications liées à son enregistrement utilisateur. Cela permet d'économiser de l'espace - si WordPress stockait toutes les données utilisateur pour chaque message écrit par chaque utilisateur, cela signifierait beaucoup de données en double et beaucoup d'espace.

L'image ci-dessous est tirée du codex WordPress et montre les tables de la base de données et comment elles sont liées :

掌握 WordPress 中的数据管理

La plupart des formulaires sont liés à un ou plusieurs autres formulaires via un champ. Ce champ sera un identifiant unique pour chaque enregistrement, tel que post_id. Ce tableau montre cela plus en détail :

)Métadonnées pour chaque publication)Commentaires
Table Données stockées Lien vers
wp_posts Articles, pages, pièces jointes, révisions et éléments du menu de navigation wp_postmeta(通过 post_id

wp_term_relationships(通过 post_id(via

(via wp_postmeta) wp_posts (通过 post_id
wp_comments (via wp_posts (通过 post_id

(via wp_commentmeta) wp_comments (通过 comment_id
Métadonnées pour chaque commentairewp_term_relationships (via comment_id) wp_posts (通过 post_id 🎜🎜 🎜La relation entre les publications et les catégories🎜 🎜 🎜 (via 🎜)🎜

wp_term_taxonomy (via term_taxonomy_id)

wp_term_taxonomy Taxonomie (comprend les catégories et les balises) wp_term_relationships (通过 term_taxonomy_id)
wp_terms Vos catégories, balises et termes attribués à votre taxonomie personnalisée wp_term_taxonomy (通过 term_id (via term_id)
wp_links Lien dans votre blog (si vous en avez encore un) wp_term_relationships (通过 link_id)
wp_users Utilisateur wp_posts (通过 post_author)
wp_user_meta Métadonnées pour chaque utilisateur wp_users (通过 user_id (via user_id)
wp_options Paramètres et options du site (via l'écran Paramètres et via les paramètres du plugin et du thème) Non applicable

Il y a quelques points à noter :

  • Par défaut, les tables de la base de données portent le préfixe wp_. Vous pouvez modifier ce paramètre lors de la configuration de votre site, mais cela n'a pas beaucoup de valeur.
  • La table principale est la wp_posts table où la plupart des données seront stockées. Cela lie (presque) tout le reste ensemble.
  • Il n'y a qu'une seule table qui n'est attachée à aucune autre table - la table wp_options. Ce tableau stocke des données sur le site Web et l'installation de WordPress, indépendantes des données sur les publications ou les utilisateurs.
  • Deux tables sont utilisées pour stocker des données sur les taxonomies - celles-ci seront expliquées plus en détail plus tard dans cette série.
  • Il n'y a aucun lien entre les tables
  • wp_userswp_comments et wp_comments - bien qu'il soit possible de spécifier que les utilisateurs doivent être enregistrés pour publier des commentaires, WordPress ne stocke pas réellement de données sur les commentaires de chaque utilisateur. qui les publie.
  • Les installations multisites auront des tables supplémentaires. Je ne les ai pas inclus ici car cela dépasse le cadre de ce didacticiel.

Lier le contenu aux tables de la base de donné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 suivant indique quelle table de base de données est utilisée pour stocker chaque type de contenu.

(si ajouté au widget) Fichiers de thème et de plugin (si codés en dur) (si ajouté via un widget ou un plugin)
Type de contenu Table
Messages wp_posts
Page wp_posts

Types de publication personnalisés wp_posts

Accessoires wp_posts

Lien wp_links

Éléments du menu de navigation wp_posts

Catégorie wp_terms
étiquettes wp_terms

Taxonomie personnalisée wp_term_taxonomy
Conditions de classification wp_terms
Publier les métadonnées wp_post_meta
Widgets wp_options
Options wp_options
Utilisateur wp_users
Contenu codé en dur wp_posts(如果添加到帖子)

wp_options (si ajouté à la publication)

wp_posts(如果添加到帖子中)

wp_optionsContenu tiers

(si ajouté à la publication)

fichiers de thème et de plugin (si codés en dur)

🎜🎜🎜 🎜 🎜 🎜

Vous avez peut-être remarqué que toutes les tables de base de données ne sont pas incluses dans ce tableau. En effet, certains d’entre eux sont utilisés pour stocker des métadonnées et d’autres pour stocker des relations, qui seront toutes deux abordées plus en détail plus loin dans cette série.

Résumé

J'espère que vous comprenez maintenant mieux comment et où WordPress utilise les structures de bases de données pour stocker différents types de données. Cette série explorera tous les aspects de cette question plus en détail.

Dans la section suivante, j'examinerai les relations entre les données et examinerai plus en détail comment des tables spécifiques sont liées et comment certaines tables sont utilisées uniquement pour stocker des données sur les relations.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn