Categories: Uncategorized

Aggiungere un’area amministrativa per il nostro plugin WordPress

Attenzione!

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:

  • include/class-nomeplugin.php
  • admin/class-nomeplugin-admin.php

Aggiungere un item al menu del backend di WordPress

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()

Funzione di callback per mostrare la pagina amministrativa

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.

Attiviamo il tutto

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

info@vannucci.ch

Share
Published by
info@vannucci.ch

Recent Posts

Anatomia dei funnel

In funnel è un modello che schematizza il percorso che ogni utente intraprende per arrivare…

% giorni fa

Creare dei campi personalizzati nel checkout di Woocommerce

L'e-commerce ha pervaso il mercato, in questa situazione sempre più spesso ci si imbatte in…

% giorni fa

Interagire con il Database di WordPress (Parte 1)

Stai sviluppando il tuo fantastico plugin e hai l'esigenza di salvare delle informazioni in maniera…

% giorni fa

Nascondere la barra di Amministrazione su WordPress, senza plugin

La tentazione di usare plugin per ogni cosa è forte, lo so. Per contro, e…

% giorni fa

Emmet: come sviluppare pagine web alla velocità della luce [Parte 1]

Se anche a voi vi annoiate a scrivere codice HTML non siete gli unici. Apri…

% giorni fa

CMS: Cosa è? Come sceglierlo?

Come si fa ad amministrare un internet complesso? La risposta sono i CMS.CMS è l'acronimo…

% giorni fa