Maison >Tutoriel CMS >WordPresse >Utilisation de l'API des paramètres WordPress pour créer une page d'administration personnalisée

Utilisation de l'API des paramètres WordPress pour créer une page d'administration personnalisée

William Shakespeare
William Shakespeareoriginal
2025-02-09 11:25:14710parcourir

Utilisation de l'API des paramètres WordPress pour créer une page d'administration personnalisée

Dans ce guide, nous présenterons l'API des paramètres WordPress et créerons une page d'administration WordPress où nous démontons l'utilisation de cette API.

Pour les fins de ce tutoriel, nous allons envelopper cette fonctionnalité dans un plugin, mais cela peut également faire partie d'un thème WordPress.

Comme le dit le Codex WordPress, l'API des paramètres a été ajouté dans WordPress 2.7 pour rationaliser l'ajout de différents champs de paramètres et sections dans les pages d'administration.

Les plats clés

  • L'API des paramètres WordPress, introduite dans WordPress 2.7, rationalise le processus d'ajouter différents champs de paramètres et sections dans les pages d'administration, et peut être utilisé pour créer une page d'administration personnalisée.
  • Le processus de création d'une page d'administration personnalisée implique la création et l'activation d'un plugin, la création d'une page d'administration et l'utilisation de l'API des paramètres pour définir et enregistrer les paramètres, sections et champs.
  • L'API Paramètres fournit plusieurs fonctions, y compris register_setting () pour enregistrer un paramètre, add_settings_section () pour définir / ajouter une section à une page d'administration, et add_settings_field () pour définir un champ de paramètres dans une section Paramètres dans une option d'administration page.
  • L'API des paramètres WordPress fournit un moyen standardisé et sécurisé de gérer les données pour les thèmes et les plugins, assurant la compatibilité avec WordPress Core et facilitant l'interaction des utilisateurs avec les paramètres sans avoir à toucher le code.

Création du plugin

Pour démarrer, nous créerons et activerons un plugin pour encapsuler notre page d'options. Nous utiliserons WP CLI pour simplifier la création, bien que cela nous laisse beaucoup plus de fichiers que ce guide en a besoin.

Utilisation de l'API des paramètres WordPress pour créer une page d'administration personnalisée ->

Comme nous pouvons le voir, nous utilisons le pluginname du plugin WP Scaffold pour créer le plugin. Une fois qu'il est créé, nous l'activons - éventuellement également à l'aide de WP CLI, avec le plugin WP Activate Pluginname.

Une fois activé, nous ouvrons le fichier de plugin principal - dans ce cas, SitePoint-Settings-API.php.

Création de la page d'administration

Il n'est pas nécessaire d'utiliser WP CLI pour ce plugin. Nous aurions pu simplement créer un répertoire avec le nom du plugin et le fichier PHP à l'intérieur avec le même nom. Quoi qu'il en soit, la création du plugin nous a laissé un sitepoint-settings-api.php qui ressemble à ceci:

<span><span><?php
</span></span><span><span>/**
</span></span><span><span> * Plugin Name:     Sitepoint Settings Api
</span></span><span><span> * Plugin URI:      PLUGIN SITE HERE
</span></span><span><span> * Description:     PLUGIN DESCRIPTION HERE
</span></span><span><span> * Author:          YOUR NAME HERE
</span></span><span><span> * Author URI:      YOUR SITE HERE
</span></span><span><span> * Text Domain:     sitepoint-settings-api
</span></span><span><span> * Domain Path:     /languages
</span></span><span><span> * Version:         0.1.0
</span></span><span><span> *
</span></span><span><span> * <span>@package         Sitepoint_Settings_Api
</span></span></span><span><span> */
</span></span><span><span>~    
</span></span>

Maintenant, nous pouvons simplement ajouter du code après la fin du commentaire.

Pour ajouter notre page d'options, nous utiliserons add_options_page () (plus de détails à ce sujet ici). Cette fonction prend des arguments comme suit:

<span><span><?php
</span></span><span><span>/**
</span></span><span><span> * Plugin Name:     Sitepoint Settings Api
</span></span><span><span> * Plugin URI:      PLUGIN SITE HERE
</span></span><span><span> * Description:     PLUGIN DESCRIPTION HERE
</span></span><span><span> * Author:          YOUR NAME HERE
</span></span><span><span> * Author URI:      YOUR SITE HERE
</span></span><span><span> * Text Domain:     sitepoint-settings-api
</span></span><span><span> * Domain Path:     /languages
</span></span><span><span> * Version:         0.1.0
</span></span><span><span> *
</span></span><span><span> * <span>@package         Sitepoint_Settings_Api
</span></span></span><span><span> */
</span></span><span><span>~    
</span></span>

Tous les arguments sont explicites. $ menu_slug doit être une chaîne unique que WordPress utilisera en interne, mais sera également reflétée dans l'URL. $ La fonction est une chaîne avec un nom de la fonction qui fournira une sortie HTML pour notre page d'administration.

Nous ajouterons donc le code suivant à notre fichier de plugin:

<span>add_options_page( $page_title, $menu_title, $capability,
</span>    <span>$menu_slug, $function );
</span>

Après avoir enregistré le fichier (en supposant que nous avons activé notre plugin), nous ouvrirons notre tableau de bord d'administration, et nous trouverons notre page API paramètres sous Paramètres dans le menu du côté gauche.

Nous pouvons contrôler, dans une certaine mesure, l'ordre ou la position de l'élément sous-menu en ajoutant un argument prioritaire à notre fonction add_action ():

<span>add_action( 'admin_menu', 'sitepoint_settings_page' );
</span>
<span>function sitepoint_settings_page() {
</span>    <span>add_options_page( 'Settings API Page', 'Settings API Page', 'manage_options', 'settings-api-page', 'settings_api_page' );
</span><span>}
</span>

Si nous voulons que notre élément de menu soit dans le menu racine - plutôt que le sous-menu de paramètres - nous utiliserons add_menu_page (), qui prend des arguments similaires.

Maintenant, si nous ouvrons la page dans notre navigateur, tout ce que nous verrons est une page vide, car nous n'avons toujours pas créé la fonction Settings_API_PAGE () que nous avons spécifiée:

Utilisation de l'API des paramètres WordPress pour créer une page d'administration personnalisée

L'API des paramètres

L'API des paramètres WordPress est un mécanisme complexe qui tente de fournir un moyen facile aux développeurs de créer des pages de paramètres.

Avant d'entrer dans un exemple à part entière de la page Paramètres affichant et enregistrez un paramètre dans la base de données WordPress, nous expliquerons quelques fonctions cruciales que WordPress fournit dans le cadre de son API paramètres

registre_setting () est une fonction que nous utilisons pour enregistrer un paramètre, qui équivaut à une ligne dans la table WP_OPTIONS. Avant de pouvoir créer un champ réel (ou des champs, car le paramètre peut être un tableau de valeurs), nous devons l'enregistrer. De cette façon, nous tirons parti du mécanisme CRUD WordPress pour les paramètres. Les arguments de fonction sont les suivants:

add_action( 'admin_menu', 'sitepoint_settings_page', 1 );

Les deux premiers arguments sont obligatoires, le premier nous permettant de lui attribuer des champs, et $ option_name, comme nous le verrons, est le nom d'option réel dans la base de données WordPress.

add_settings_section () définit / ajoute une section à une page d'administration. Ses arguments sont les suivants:

<span>register_setting( string $option_group, string $option_name, array $args = array() )
</span>
Le rappel

$ est une fonction qui publie un en-tête HTL de la section (il peut être vide), et $ la page est la limace de la page d'administration sur laquelle nous allons afficher.

add_settings_field () définit un champ de paramètres dans une section Paramètres dans une page d'options d'administration. Les arguments pour cela sont:

add_settings_section( string $id, string $title, callable $callback, string $page )

de ceux-ci, $ id, $ title, $ rappel et $ page sont requis. La fonction de rappel $ doit sortir le HTML du champ de saisie.

L'API Paramètres fournit un argument de page $ pour add_settings_section et add_settings_field comme moyen d'ajouter des sections et des champs aux pages de paramètres existants. Nous utiliserons STPPLUGIN pour notre groupe d'options - dans registre_setting () - et pour la connexion de la section des paramètres et des champs de paramètres à une page "stpplugin" dans les fonctions add_settings_section () et add_settings_field (). Nous allons ensuite «le citer» dans les deux fonctions suivantes de notre exemple, pour sortir HTML.

Settings_fields () sorties "NONCE, ACTION et FILLS OPTIONS_PAGE pour une page de paramètres". Il faut l'argument $ option_group, utilisé dans registre_setting ().

do_settings_sections () produit toutes les sections, avec leurs champs respectifs, enregistrés pour une page $ spécifique.

$ La page est le seul argument ici.

Ayant expliqué ces fonctions, nous passons maintenant à un code réel. Le code PHP précédent que nous avons ajouté au fichier SitePoint-Settings-api.php que nous remplaçons par les suivants:

<span><span><?php
</span></span><span><span>/**
</span></span><span><span> * Plugin Name:     Sitepoint Settings Api
</span></span><span><span> * Plugin URI:      PLUGIN SITE HERE
</span></span><span><span> * Description:     PLUGIN DESCRIPTION HERE
</span></span><span><span> * Author:          YOUR NAME HERE
</span></span><span><span> * Author URI:      YOUR SITE HERE
</span></span><span><span> * Text Domain:     sitepoint-settings-api
</span></span><span><span> * Domain Path:     /languages
</span></span><span><span> * Version:         0.1.0
</span></span><span><span> *
</span></span><span><span> * <span>@package         Sitepoint_Settings_Api
</span></span></span><span><span> */
</span></span><span><span>~    
</span></span>

Ici, nous accrochons la fonction stp_api_settings_init () au crochet admin_init. Là, nous définissons et enregistrons nos paramètres, sections et champs.

stp_api_text_field_0_render () et stp_api_select_field_1_render () Définir la sortie HTML de nos deux champs, texte et sélection de sélection, tous deux appartenant au même groupe stpplugin et à l'option stp_api_settings - ou réglage - dans les tableaux WP_Options dans la database.

Enfin, nous définissons STP_API_OPTIONS_PAGE (), qui publie le HTML pour notre page d'options d'administration. Nous incorporons les sections et les champs de paramètres. Nous avons fait référence à cette fonction en haut de notre fichier, dans la fonction STP_API_ADD_ADMIN_MENU (), où nous avons enregistré la page Admin (Options).

Lorsque nous allons maintenant, encore une fois, sur notre page Paramètres, nous verrons qu'il n'est plus vide:

Utilisation de l'API des paramètres WordPress pour créer une page d'administration personnalisée

Si nous essayons de changer et d'économiser ces champs, nous verrons, après nous rafraîchir, cela fonctionne! WordPress résume les transactions de base de données pour nous, les nonces, etc.

Nous pourrions ajouter davantage des fonctionnalités de validation, un style supplémentaire de cette page et d'autres choses.

Si nous allons à WP CLI et essayons d'exécuter l'option WP, obtenez STP_API_SETTISTS - après avoir modifié certaines valeurs pour ces deux champs - nous obtiendrons ceci:

Utilisation de l'API des paramètres WordPress pour créer une page d'administration personnalisée

Cela nous montre que ces deux champs ont été enregistrés dans notre base de données WP_OPTIONS comme champs d'un tableau, comme paramètre STP_API_SETTISS.

Si nous allons maintenant à WP CLI Shell, nous pouvons essayer le code que nous utiliserons pour récupérer ces options dans nos fichiers de plugin ou de thème:

Utilisation de l'API des paramètres WordPress pour créer une page d'administration personnalisée

Conclusion

WordPress est devenu important dans l'industrie du Web en raison de sa facilité d'utilisation et de sa courbe d'apprentissage douce pour les développeurs. L'API des paramètres est un exemple de cette convivialité.

Dans ce guide, nous avons introduit l'API des paramètres WordPress. On peut en dire beaucoup plus sur ce sujet, mais l'intro que nous avons présentée ici devrait démystifier le sujet pour permettre aux pirates ingénieux de construire leurs propres solutions à partir de cela.

Questions fréquemment posées sur les paramètres WordPress API

Quelle est l'API des paramètres WordPress et pourquoi est-il important?

L'API des paramètres WordPress est un ensemble de fonctions et de crochets fournis par WordPress pour aider les développeurs à créer, gérer et à contrôler les options ou paramètres sur leur WordPress sites. Il est important car il fournit un moyen standardisé et sécurisé de gérer les données pour les thèmes et les plugins. Il garantit également que votre thème ou votre plugin est compatible avec WordPress Core, ce qui permet aux utilisateurs d'interagir plus facilement avec vos paramètres sans avoir à toucher le code.

Comment puis-je créer une page d'administration personnalisée à l'aide de l'API paramètres WordPress ?

Création d'une page d'administration personnalisée à l'aide de l'API Paramètres WordPress implique plusieurs étapes. Tout d'abord, vous devez enregistrer une nouvelle page de paramètres à l'aide de la fonction add_menu_page () ou add_submenu_page (). Ensuite, vous devez définir les champs de paramètres à l'aide de la fonction add_settings_field (). Après cela, vous devez enregistrer les paramètres à l'aide de la fonction register_setting (). Enfin, vous devez créer une fonction de rappel pour afficher la page des paramètres.

Comment puis-je valider et désinfecter les données à l'aide de l'API des paramètres WordPress?

L'API des paramètres WordPress fournit un moyen de valider et désinfecter les données avant d'être enregistrées dans la base de données. Cela se fait à l'aide de la fonction register_setting (), qui accepte une fonction de rappel comme troisième argument. Cette fonction de rappel est utilisée pour désinfecter et valider les données. Vous pouvez utiliser les fonctions de désinfecture intégrées de WordPress, ou vous pouvez créer votre propre fonction de désinfection personnalisée.

Comment puis-je ajouter une section Paramètres à une page Paramètres?

Vous pouvez ajouter une section Paramètres sur une page de paramètres à l'aide de la fonction add_settings_section (). Cette fonction accepte trois arguments: l'ID de la section, le titre de la section et une fonction de rappel qui affiche la section. Après avoir créé la section, vous pouvez y ajouter des champs à l'aide de la fonction add_settings_field ().

Comment puis-je récupérer la valeur d'un paramètre?

Vous pouvez récupérer la valeur d'un paramètre à l'aide du paramètre Fonction get_option (). Cette fonction accepte l'ID du paramètre comme son argument et renvoie la valeur du paramètre. Si le paramètre n'existe pas, il renvoie False.

Comment puis-je ajouter un champ de paramètres à une section Paramètres?

Vous pouvez ajouter un champ de paramètres à une section Paramètres à l'aide de l'add_settings_field () fonction. Cette fonction accepte plusieurs arguments, y compris l'ID du champ, le titre du champ, une fonction de rappel qui affiche le champ, la page sur laquelle le champ doit être affiché et la section à laquelle le champ doit être ajouté.

Comment puis-je désinscrire un paramètre?

Vous pouvez désinscrire un paramètre à l'aide de la fonction ungister_setting (). Cette fonction accepte deux arguments: le groupe d'options et le nom d'option. Après avoir appelé cette fonction, le paramètre ne sera plus enregistré et ne sera pas affiché sur la page Paramètres.

Comment puis-je ajouter une erreur de paramètres à une page Paramètres?

Vous pouvez ajouter un Erreur des paramètres sur une page de paramètres à l'aide de la fonction add_settings_error (). Cette fonction accepte plusieurs arguments, y compris l'ID du paramètre, le titre de l'erreur, le message de l'erreur et le type d'erreur.

Comment puis-je afficher les erreurs de paramètres sur une page de paramètres?

Vous pouvez afficher les erreurs de paramètres sur une page de paramètres à l'aide de la fonction Settings_errors (). Cette fonction accepte l'ID du paramètre comme son argument et affiche toutes les erreurs associées à ce paramètre.

Comment puis-je créer une fonction de rappel pour un champ de paramètres?

Création d'une fonction de rappel pour un Le champ Paramètres implique la définition d'une nouvelle fonction qui publie le HTML pour le champ. Cette fonction doit accepter un argument, qui est un tableau contenant les arguments transmis à la fonction add_settings_field (). À l'intérieur de la fonction, vous pouvez utiliser la fonction get_option () pour récupérer la valeur du champ, puis sortir le HTML pour le champ.

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