Questo articolo riguarda la creazione di plugin a partire da WordPress plugin boilerplate generator
Praticamente ogni plugin WordPress ha bisogno un’area amministrativa, che sia composta da decine di pagine, oppure una sola per inserire, ad esempio, una chiave API.
In questo articolo vedremo, inizialmente, come aggiungere al menu del backend il link alle nostre pagine di amministrazione.
I file coinvolti saranno:
Innanzitutto creaiamo la configurazione in admin/class-nomeplugin-admin.php, io solitamente creo un nuovo metodo di nome add_menu()
public function add_menu() { add_menu_page( "API Magazzino", //Titolo della pagina amministrativa "API Magazzino", //Testo da mostrare nel menu 'manage_options', //Tipologia di pagina $this->plugin_name .'-manager', //slug della pagina 'api_magazzino_admin_page', //Funzione di callback da richiare '', //url dell'icona 80 //posizione ); }
Riferitevi pure alla doc ufficiale di WP per tutti i dettagli per il metoto add_menu_page()
Come hai visto nel metodo add_menu() è necessario avere una funzione che “costruisca” la pagina una volta cliccato sul tasto del menu.
Per comodità la scrivo nel file admin/class-nomeplugin-admin.php, ma all’esterno della classe.
function api_magazzino_admin_page() { include( WP_PLUGIN_DIR . '/api_magazzino/api_magazzino-database.php' ); include( WP_PLUGIN_DIR . '/api_magazzino/api_magazzino-call.php' ); include( plugin_dir_path( __FILE__ ) . 'partials/api_magazzino-admin-display.php' ); //unica linea veramente obbligatoria }
In questo caso. con le prime due linee vado ad includere delle classi di servizio che mi serviranno. mentre la terza è quella che include il vero e proprio file della pagina. Inutile dire che quest’ultima è quella che dovrà essere sempre inclusa, altrimenti non si vedrà una fava.
Altro passaggio fondamentale è aggiungere l’azione nel file class-nomeplugin.php, che si trova nella root principale, inserendola nel metodo define_admin_hooks()
private function define_admin_hooks() { $plugin_admin = new API_Magazzino_Admin( $this->get_plugin_name(), $this->get_version() ); $this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'enqueue_styles' ); $this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'enqueue_scripts' ); $this->loader->add_action( 'admin_menu', $plugin_admin, 'add_menu' ); }
Manco a dirlo, questo metodo sarà quello che si occuperà di caricare tutti i file quando un utente si trova nell’area amministrativa.
Le prime due action vengono create di default da WPPB, mentre noi dovremo inserire manualmente quella cha avrà add_menu() come callback.
Fatto questo, pushando tutto e ricaricando la pagina, dovreste vedere apparire il menu. TADAAAA
In funnel è un modello che schematizza il percorso che ogni utente intraprende per arrivare…
L'e-commerce ha pervaso il mercato, in questa situazione sempre più spesso ci si imbatte in…
Stai sviluppando il tuo fantastico plugin e hai l'esigenza di salvare delle informazioni in maniera…
La tentazione di usare plugin per ogni cosa è forte, lo so. Per contro, e…
Se anche a voi vi annoiate a scrivere codice HTML non siete gli unici. Apri…
Come si fa ad amministrare un internet complesso? La risposta sono i CMS.CMS è l'acronimo…