5 façons de créer une page de configuration de plug in WordPress

Je n’ai pas créé un nouveau plugin wordpress depuis le début depuis un certain temps, mais j’ai récemment décidé de convertir le Code qui ne m’est utile que pour moi en un plugin complet que je peux distribuer. Une partie du processus consiste à remplacer les données codées par des options que les futurs utilisateurs du plug in peuvent définir. J’avais besoin de créer une page de configuration dans le plugin et je me suis retrouvé à me demander quelle était la meilleure et la plus récente approche dans le monde en constante évolution de WordPress. Voyons les différentes façons d’ajouter une page de configuration au plugin wordpress.
API de configuration WordPress utiliser le cadre de champ personnalisé du générateur de code utiliser l’api rest vuejs pour réagir à l’api de configuration WordPress l’api de configuration WordPress a été ajoutée à WordPress 2.7 pour permettre aux développeurs d’enregistrer les champs de configuration sur les modules de configuration existants dans le tableau de bord. En plus de créer de nouveaux modules de configuration dans lesquels WordPress affichera et enregistrera des données: permet de définir les pages de configuration, les sections de ces pages et les champs dans les sections.
Camp;rsquoest certainement la méthode la plus manuelle dont il est question dans mais il vaut la peine de comprendre comment elle fonctionne et, dans certains cas, camp;rsquoest une méthode très simple pour répondre à tous vos besoins. Tout damp;rsquoabord, nous devons enregistrer un nouvel élément de menu et une nouvelle page contenant le module de configuration. Ajouter une page sous les paramètres de l’élément de menu de haut niveau du tableau de bord WordPress: amp;lt?php function dbi_add_settings_page() { add_options_page( amp;039Example plugin pageamp;039, amp;039Example Plugin Menuamp;039, amp;039manage_optionsamp;039, amp;039dbi-example-pluginamp;039, amp;039dbi_render_plugin_settings_pageamp;039 ) } add_action( amp;039admin_menuamp;039, amp;039dbi_add_settings_pageamp;039 ) Il quinto argomento per add_options_page è il nome della funzione utilizzata per visualizzare il contenuto della pagina, in questo caso sarà il form delle impostazioni. Quella funzione deve avere un elemento modulo e alcune chiamate di funzione per comunicare con lamp;039API delle impostazioni:
Exemple de configuration du plug in
amp;ltinput name=amp;quotsubmitamp;quot class=amp;quotbutton button-primaryamp;quot type=amp;quotsubmitamp;quot value=amp;quot
Option
Par conséquent, lamp;rsquoutilisation des paramètres dans notre Code est damp;rsquoutiliser lamp;rsquooption get _ option (
En 2012, lorsque j’ai créé le plugin wordpress pour Instagram, j’ai créé la page de configuration en utilisant le cadre de configuration WordPress créé par notre Gilbert pellegrom, qui a été créé avant même que nous travaillions ensemble et que nous nous connaissions. Le cadre est maintenant géré par James Kemp, ami de Delicious Brains: la communauté WordPress peut être vraiment un petit monde. 😄 En parlant du cadre PHP, je voudrais montrer une alternative à la création de pages de configuration sans l’api de configuration WordPress. Lorsque je crée un site Web pour un client, si jamp;rsquoa i besoin de configurer une page, je vais par défaut créer une page damp;rsquooptions en utilisant des champs personnalisés avancés, puis définir des champs en utilisant ACF.
amp;lt?php } La funzione settings_fields rende il codice per dire al modulo cosa fare, oltre a un input nascosto per renderlo sicuro usando un nonce. Lamp;039argomento passato alla funzione è un nome per il gruppo di impostazioni che verrà registrato in seguito.
La funzione do_settings_sections è la parte fondamentale del modulo, è qui che vengono emesse tutte le sezioni e i campi (caselle di testo, selezioni, caselle di controllo ecc.) In modo che i dati possano essere inseriti dallamp;039utente. Ancora una volta, quellamp;039argomento della funzione è arbitrario ma deve essere univoco. Lo useremo durante la registrazione dei campi. Facciamolo: amp;lt?php function dbi_register_settings() { register_setting( amp;039dbi_example_plugin_optionsamp;039, amp;039dbi_example_plugin_optionsamp;039, amp;039dbi_example_plugin_options_validateamp;039 ) add_settings_section( amp;039api_settingsamp;039, amp;039API Settingsamp;039, amp;039dbi_plugin_section_textamp;039, amp;039dbi_example_pluginamp;039 ) add_settings_field( amp;039dbi_plugin_setting_api_keyamp;039, amp;039API Keyamp;039, amp;039dbi_plugin_setting_api_keyamp;039, amp;039dbi_example_pluginamp;039, amp;039api_settingsamp;039 ) add_settings_field( amp;039dbi_plugin_setting_results_limitamp;039, amp;039Results Limitamp;039, amp;039dbi_plugin_setting_results_limitamp;039, amp;039dbi_example_pluginamp;039, amp;039api_settingsamp;039 ) add_settings_field( amp;039dbi_plugin_setting_start_dateamp;039, amp;039Start Dateamp;039, amp;039dbi_plugin_setting_start_dateamp;039, amp;039dbi_example_pluginamp;039, amp;039api_settingsamp;039 ) } add_action( amp;039admin_initamp;039, amp;039dbi_register_settingsamp;039 ) Ci sono tre cose che stanno succedendo qui. Innanzitutto, utilizziamo register_setting per creare un nuovo record nella tabella wp_options per le nostre impostazioni, con amp;039dbi_example_plugin_optionsamp;039 come option_name.
Le nostre impostazioni individuali verranno archiviate come un array serializzato di dati. Questo è ottimo per raggruppare tutte le nostre impostazioni del plug-in in un unico posto, ma la serializzazione dei dati può causare problemi durante la migrazione del database di WordPress, a meno che non venga gestita correttamente. Il terzo argomento è il nome della funzione che gestisce la convalida dei dati inseriti durante il salvataggio dellamp;039opzione. Ad esempio, assicurati che la chiave API sia una stringa di 32 caratteri contenente solo numeri e lettere: amp;lt?php function dbi_example_plugin_options_validate( $input ) { $newinput[amp;039api_keyamp;039] = trim( $input[amp;039api_keyamp;039] ) if ( ! preg_match( amp;039^[a-z0-9]{32}$iamp;039, $newinput[amp;039api_keyamp;039] ) ) { $newinput[amp;039api_keyamp;039] = amp;039amp;039 } return $newinput } In secondo luogo, stiamo registrando una sezione di gruppo per le impostazioni, legata allamp;039opzione. Infine, stiamo registrando tre campi per il gruppo con add_settings_field . Tutti questi sono campi di testo per contenere le impostazioni del nostro plugin.
Successivamente, dobbiamo creare funzioni per visualizzare testo utile per la sezione e visualizzare i campi del modulo: amp;lt?php function dbi_plugin_section_text() { echo amp;039
C’est l’une des nombreuses raisons pour lesquelles j’aime utiliser ACF: il faut quelque chose de compliqué de wordpress pour le rendre simple. (avez déjà vu ACF Blocks? Il samp;rsquoagit damp;rsquoun wrapper damp;rsquoenregistrement de bloc PHP pour le nouvel éditeur de bloc sans toucher React?) Cependant, lorsque créez un plug in ou un thème pour un déploiement, ne pouvez pas fier aux États Unis
Le terme go fait référence à un plug in qui nécessite plusieurs modifications au Code de configuration. L’une des nombreuses utilisations importantes de l’api rest avec l’api rest WordPress est d’améliorer les paramètres du plug in ou l’écran de thème. Dans cet excellent article, Josh Pollock explique comment créer des pages de configuration en utilisant lamp;rsquoAPI rest et jquery. Je namp;rsquoutiliserai pas cette technique pour recréer ma page de configuration parce que cet article est un tutoriel très complet. Lamp;rsquoAPI rest offre des avantages de performance par rapport à la gestion traditionnelle des demandes Ajax. Php, combiné avec une expérience utilisateur améliorée et des paramètres de module enregistrés en arrière plan en cliquant sur Enregistrer sans mise à jour de page, semble plus moderne que l’api de configuration WordPress. Josh a remarqué quamp;rsquoau fur et à mesure que ajoutez des paramètres et des modules qui deviennent de plus en plus complexes, « Vous allez utiliser jquery de plus en plus, ce qui est un problème difficile à gérer, et ce sera plus facile, et si utilisez vuejs ou React, allez offrir une meilleure expérience Utilisateur », ce qui mamp;rsquoa donné une bonne idée de lamp;rsquoapproche suivante, la page de configuration prise en charge par vuejs. L’année dernière, lors de l’acquisition du plug in d’abonnement WordPress, j’ai examiné la base de code avec vuejs pour en savoir plus sur son processus d’écriture et j’ai constaté que la page de configuration était prise en charge par un paquet utilisant l’api rest et vuejs – WP optionsuite:
Vous pouvez installer le paquet en utilisant composer et utiliser le Code trouvé ici pour instancier et configurer les pages de configuration. Voici lamp;rsquoapparence de notre exemple de page de configuration: Ce que jamp;rsquoaime avec cette approche, camp;rsquoest quamp;rsquoelle permet de générer des pages avec des paramètres complexes avec plusieurs onglets et sous sections simplement en configurant des tableaux de données en PHP. Comme pour damp;rsquoautres méthodes, les données de configuration sont stockées dans les enregistrements de la table damp;rsquooptions

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

ContactPress Supported By WordPress Plugins