Dans les parties précédentes de cette série, nous avons examiné les tables de la base de données WordPress et les relations entre elles..
Dans cette partie, je couvrirai une table différente des autres - la wp_options
table. Comme vous pouvez le voir sur le schéma ci-dessous, il s'agit du seul tableau autonome:
La table d'options stocke un type de données différent des autres tables: au lieu de stocker des données sur le contenu de votre site, elle stocke des données sur le site lui-même. Les données sont écrites dans la table d'options à l'aide de l'API Options ou de l'API Paramètres, qui consistent en un ensemble de fonctions permettant d'ajouter, de mettre à jour et de supprimer des données de cette table..
Vous pouvez ajouter des valeurs aux options existantes et vous pouvez également ajouter de nouveaux enregistrements à la table lorsque vous souhaitez créer de nouvelles options..
Dans ce tutoriel, je vais examiner différents aspects du tableau des options et leur interaction avec celui-ci:
wp_options
tablewp_options
tablewp_options
tableJe vais simplement donner un aperçu des API et de la manière dont elles interagissent avec le tableau des options. Si vous souhaitez en savoir plus, lisez la série de Tom McFarlin sur les paramètres de l'API..
Comme le wp_options
table stocke les données relatives à la configuration et à l'administration du site dans son ensemble, son accès est restreint. Pour pouvoir modifier les paramètres et les options, les utilisateurs doivent disposer du manage_options
aptitude. Le seul rôle d'utilisateur par défaut doté de cette fonctionnalité est le rôle d'administrateur (et dans Multisite, le rôle d'administrateur réseau)..
Cela signifie que si vous devez ajouter des options auxquelles d'autres rôles d'utilisateur ont accès, vous devrez attribuer le manage_options
capacité à eux. Cela comporte des risques, alors ne le faites que si vous êtes sûr!
La table d'options a une structure similaire à celle des trois tables de métadonnées. Il comporte quatre champs:
option_ID
nom_option
valeur d'option
chargement automatique
- spécifie si l'option est automatiquement chargée à chaque chargement de page - par défaut, Oui
dans une installation de site unique et non
en multisite.Chaque enregistrement dans le nom_option
Ce champ aura une valeur unique: si vous ajoutez plusieurs valeurs à une option, WordPress les stocke dans un tableau du valeur d'option
champ. Un bon exemple de ceci est le actif_plugins
option, qui stocke un tableau de plugins activés sur votre site.
Lors de l’ajout, de la modification ou de la suppression de données dans wp_options
table, vous devez toujours spécifier le nom_option
, comme je le montrerai plus tard dans ce tutoriel.
le wp_options
La table provient d'une des trois sources suivantes:
Un certain nombre d'options sont intégrées à WordPress - vous pouvez toutes les voir dans la référence des options. Mais vous pouvez aussi créer votre propre.
Pour créer de nouvelles options dans votre thème ou plug-in, vous devez utiliser l'API Options ou l'API Paramètres. Je vais couvrir ces plus en détail ci-dessous.
L'API Options comprend huit fonctions permettant d'ajouter, de récupérer, de mettre à jour ou de supprimer des options:
Une fonction | Paramètres | Remarques |
---|---|---|
add_option () | option $ , $ valeur , $ obsolète , $ autoload | Seulement option $ est requis. S'il y a un enregistrement existant avec votre option $ paramètre comme valeur de son nom_option domaine, WordPress ajoutera votre $ valeur à un tableau dans le valeur d'option champ pour cet enregistrement, sinon il va créer un nouvel enregistrement. |
delete_option () | option $ | Supprime tous les champs pour cette option |
get_option () | option $ , $ default | $ default (facultatif) est la valeur par défaut à renvoyer si aucune valeur n'est stockée pour l'option dans la base de données.. |
update_option () | option $ , $ new_value | $ new_value est la valeur qui va peupler le valeur d'option champ |
add_site_option () | option $ , $ valeur | Semblable à add_site_option () mais ajoute l'option multisite à l'échelle du réseau (ce qui signifie que l'option est stockée dans le wp_options table et pas le wp_XX_options table où XX est l'ID du site). $ autoload n'est pas inclus car les options de site ne se chargent pas automatiquement dans Multisite et ne peuvent pas être remplacées. |
delete_site_option () | option $ | Le même que delete_option () mais fonctionne à l'échelle du réseau dans Multisite. |
get_site_option () | option $ , $ default , $ use_cache | Semblable à get_option () mais récupère l'option réseau dans Multisite. |
update_site_option () | option $ , $ valeur | Identique à update_option () mais fonctionne à l'échelle du réseau dans Multisite. |
Notez que lors de la création d’options, via l’API Options ou l’API Paramètres, vous pouvez créer des enregistrements sans valeur dans la liste. valeur d'option
champ. Cela permet aux administrateurs de site de renseigner ce champ ultérieurement..
En plus de l’API Options, vous pouvez également utiliser l’API Paramètres pour interagir avec les données de la wp_options
table. L'API de paramètres vous permet de créer des paramètres que les administrateurs de site peuvent utiliser pour ajouter ou mettre à jour des données dans la table d'options. Elle ajoute une interface utilisateur à vos options..
L'API Paramètres a plus à offrir que l'API Options. Je ne vais donc pas en parler en détail ici, mais elle comporte essentiellement trois éléments:
wp_options
table)Les deux fonctions de l’API de paramètres qui interagissent directement avec le wp_options
tableau sont les suivantes:
Une fonction | Paramètres | Remarques |
---|---|---|
register_setting () | $ option_group , $ nom_option , $ sanitize_callback | le $ nom_option paramètre fait référence à la nom_option champ dans le wp_options table; les autres paramètres interagissent avec d'autres fonctions de l'API Settings |
unregister_setting () | $ option_group , $ nom_option , $ sanitize_callback | Annule les réglages de la wp_options table - normalement utilisé avec les hooks de désactivation pour les thèmes ou les plugins. |
Ces fonctions n’ajoutent aucune valeur aux options de la wp_options
table, mais ils créent des paramètres auxquels peuvent s'ajouter des valeurs via d'autres fonctions de l'API Settings.
le wp_options
table est unique parmi les tables de base de données WordPress en ce sens qu'elle ne partage aucune relation avec aucune des autres tables. En effet, il stocke des données sur le site ou le réseau, et non le contenu. Pour interagir avec la table d'options, vous pouvez utiliser les fonctions de l'API Options ou de l'API Paramètres, ainsi que des fonctions permettant d'ajouter des données à l'échelle du réseau dans une isolation multisite..
Dans la dernière partie de cette série, j'examinerai Multisite, car il utilise des tables de base de données supplémentaires qui n'ont pas encore été traitées dans cette série et crée plusieurs instances de chacune des tables principales, une pour chaque site..