Comprendre et utiliser la table d'options WordPress

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:

  • Accès au wp_options table
  • Structure de la wp_options table
  • Remplir le wp_options table
  • L'API Options
  • L'API Paramètres

Je 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.. 

Accès à la table wp_options

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!

Structure de la table wp_options

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.

Remplir la table wp_options

le wp_options La table provient d'une des trois sources suivantes:

  • les écrans de paramètres par défaut
  • écrans d'options de thème
  • écrans de réglages et d'options que vous ajoutez via des plugins

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.

Utilisation de l'API Options

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..

Utilisation de l'API Settings

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:

  • le réglage (les données dans le wp_options table)
  • le champ (utilisé pour ajouter et éditer des données)
  • la section des paramètres, qui est un groupe de champs liés.

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.

Résumé

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..