programmazione Plugin programmare wordpress
Per aggiungere una pagina di menù per il settaggio del nostro plug in bisogna aggiungere, nel file principale (o uno incluso), una funzione che richiama il comando add_menu_page e richiamare questa funzione attraverso add_action solo quando siamo nella pagina dei menu di amministrazione (admin_menu).
Se noi ad esempio volessimo aggingere un menù nella bacheca principale di wordpress (manage_options) un menù chiamato Plugin Menu con una pagina intitolata Plugin Name, con uno slug che identifica la pagina come mio-plug-in bisogna aggiungere questo codice:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
function wpplugin_settings_page() { add_menu_page( 'Plugin Name', //titolo pagina 'Plugin Menu', //titolo menu 'manage_options', //permessi di visualizzazione 'mioplugin', //nome slug 'mioplugin_settings_page_markup', //callback 'dashicons-wordpress-alt', //icona 100 //posizione nel menu ); } add_action( 'admin_menu', 'wpplugin_settings_page' ); |
Per recuperare le traduzioni si usa la funzione __( string $text, string $domain = ‘default’ ) ad esempio per tradurre Plugin Name e Plugin Menu utilizzare il seguente codice:
1 2 3 4 5 6 7 8 9 |
add_menu_page( __( 'Plugin Name', 'mio-plug-in' ), __( 'Plugin Menu', 'mio-plug-in' ), 'manage_options', 'mioplugin', 'mioplugin_settings_page_markup', 'dashicons-wordpress-alt', 100 ); |
In questa pagina https://developer.wordpress.org/resource/dashicons possiamo trovare le icone da aggiunge
Il callback richiama una funzione che può contenere il contenuto della pagina e il suo markup.
Un esempio basilare lo possiamo vedere aggiungendo una funzione con il seguente codice:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
function mioplugin_settings_page_markup() { // Double check user capabilities if ( !current_user_can('manage_options') ) { return; } ?> <div class="wrap"> <h1><?php esc_html_e( get_admin_page_title() ); ?></h1> <p><?php esc_html_e( 'Alcuni contenuti.', 'mio-plug-in' ); ?></p> </div> <?php } |
mio-plug-in è il text domain che abbiamo messo nell’intestazione del nostro plug in al capitolo 1
la classe wrap è quella che utilizza wordpress per le sue aree di amministrazione
esc_html_e() viene utilizzato per tradurre e visualizzare caratteri speciali che servirebbero alla visualizzazione della pagina html
get_admin_page_title() ottiene il titolo della pagina corrente.
2 pensieri su – "Capitolo 2 Pagina di settaggio"
[…] aggiungere un sottomenu si usa la funzione add_submenu_page. Utilizzando il menu creato al capitolo2, possiamo aggiungere il seguente […]
[…] $hook verrà riempito da una stringa toplevel_page_ seguito dal nome assegnato al menu descritto al capitolo 2.Riporto il codice in […]