Setting API Wordpress

Vediamo in questa nuova guida come interagire con in form in wordpress e come creare delle nuove sezioni. E faremo tutto questo grazie alle Setting Api che sono state introdotte in Wordpres dalla versione 2.7
Intanto partiamo con una precisazione. Abbiamo visto nella precedente guida come creare i Menu e i Sotto Menu. Le sezioni non sono altro che una parte di un sottomenu o il sottomenu intero a seconda di quello che andremo a fare. I form ovviamente sono i form che già conosciamo dall’html inseriti nel contesto WordPress.

 

Per utilizzare i form lo user deve avere capability manage_options nel caso di singolo blog oppure nel caso di Multi Sito deve essere Super Admin.

Quindi se vogliamo inserire un form in una sezione WordPress i passi che dobbiamo fare sono i seguenti.

Intercettare l’evento con il gangio admin_init

Aggiungere una sezione (add_settings_section ) aggiungere un campo field per il form (add_settings_field) e relativo settaggio ( setting_field , registrare il setting in modo che sia disponibile per tutti gli utenti ( register_setting )

Vediamo quindi di mettere in forma di esempio quanto vi abbiamo appena detto.

<?php 
 // ------------------------------------------------------------------
 // Aggiungere sezioni e campi field con le Setting Api di WordPress
 // ------------------------------------------------------------------
 //
 
 function eg_settings_api_init() {
 // Aggiungere una sezione al menu impostazioni-lettura

add_settings_section(
 'eg_setting_section',
 'Sezione esempio per la lettura',
 'eg_setting_section_callback_function',
 'reading'
 );
 
 //Aggiunge il campo field con nome e funzione da mettere nella nostra sezione come nuova impostazione add_settings_field(
 'eg_setting_name',
 'Esempio impostazione nome',
 'eg_setting_callback_function',
 'reading',
 'eg_setting_section'
 );
 
 // Registra la funzione

register_setting( 'reading', 'eg_setting_name' );
 } 
 
 add_action( 'admin_init', 'eg_settings_api_init' );
 
 
 // ------------------------------------------------------------------
 // Impostazioni funzione di Callback
 // ------------------------------------------------------------------
 //
 // Questa funzione verrà eseguita all'inizio della sezione


 function eg_setting_section_callback_function() {
 echo '<p>Introduci del testo nella tua funzione.</p>';
 }
 
 //
 // Per esempio abbiamo creato un form checkbox true/false 
 
 function eg_setting_callback_function() {
 echo '<input name="eg_setting_name" id="eg_setting_name" type="checkbox" value="1" class="code" ' . checked( 1, get_option( 'eg_setting_name' ), false ) . ' /> Spiegazione testo';
 }

e alla fine otterrete questa sezione nel sottomenu impostazioni lettura

 

Setting API WordPress
Per meglio comprendere il tutto vi evidenzio anche questo grafico che ho ripresto dal sito di WordPress che esemplifica al meglio il tutto .

Setting API WordPress