Utilizzo dell’Hook admin_menu nello Sviluppo di Plugin per WordPress

Tempo di lettura: 2 minuti


  • Scritto da Roberto Paolucci il 4 Ottobre 2022
  • e aggiornato il 02-11-2024
  • in Coding

Nello sviluppo di plugin per WordPress, l’hook admin_menu riveste un ruolo fondamentale per la personalizzazione dell’interfaccia amministrativa. Questo hook consente di aggiungere, modificare o rimuovere voci di menu e sottomenu nel pannello di amministrazione di WordPress. In questo articolo, esploreremo in dettaglio l’utilizzo dell’hook admin_menu e forniremo esempi concreti per illustrarne l’applicazione pratica. Inoltre, discuteremo anche gli hooks save_post e wp_head per comprendere ulteriormente il loro ruolo nel contesto dello sviluppo dei plugin.

L’utilizzo dell’Hook admin_menu

L’hook admin_menu consente di aggiungere elementi di menu personalizzati al pannello di amministrazione di WordPress. Per utilizzare questo hook, è necessario registrare una funzione che verrà eseguita quando l’hook viene attivato. Di seguito è riportato un esempio di codice che aggiunge un nuovo sottomenu denominato “Impostazioni del Plugin” nel menu “Impostazioni”:

function plugin_menu() {
    add_options_page(
        'Impostazioni del Plugin',
        'Plugin',
        'manage_options',
        'plugin-settings',
        'plugin_settings_page'
    );
}

add_action('admin_menu', 'plugin_menu');

In questo esempio, la funzione plugin_menu() viene registrata con l’hook admin_menu. Quando l’hook viene attivato, la funzione viene eseguita e crea un nuovo sottomenu denominato “Impostazioni del Plugin” all’interno del menu “Impostazioni”. Il sottomenu è associato alla funzione plugin_settings_page(), che definisce il contenuto della pagina delle impostazioni.

Utilizzo degli Hooks save_post e wp_head

Oltre all’hook admin_menu, altri hooks comuni nello sviluppo di plugin per WordPress sono save_post e wp_head. L’hook save_post consente di eseguire azioni specifiche dopo che un post viene salvato o aggiornato. Di seguito è riportato un esempio di codice che salva il valore di un campo personalizzato quando viene salvato un post:

function save_custom_field($post_id) {
    if (isset($_POST['custom_field'])) {
        $custom_field_value = sanitize_text_field($_POST['custom_field']);
        update_post_meta($post_id, 'custom_field', $custom_field_value);
    }
}

add_action('save_post', 'save_custom_field');

In questo esempio, la funzione save_custom_field() viene registrata con l’hook save_post. Quando viene salvato un post, la funzione viene chiamata e salva il valore del campo personalizzato, identificato come ‘custom_field’, utilizzando la funzione update_post_meta().

L’hook wp_head consente di iniettare codice personalizzato nell’elemento <head> delle pagine del sito. Di seguito è riportato un esempio di codice che aggiunge un tag <meta> personalizzato nell’elemento <head>:

function add_custom_meta_tag() {
    echo '<meta name="custom-meta" content="valore-meta" />';
}

add_action('wp_head', 'add_custom_meta_tag');

In questo esempio, la funzione add_custom_meta_tag() viene registrata con l’hook wp_head. Ogni volta che viene generata una pagina del sito, la funzione viene eseguita e aggiunge il tagpersonalizzato nell’elemento. Conclusioni Gli hooks sono strumenti essenziali nello sviluppo di plugin per WordPress, consentendo la personalizzazione e l’estensione del funzionamento del CMS. L’hook admin_menu è particolarmente utile per la creazione di menu e sottomenu personalizzati nel pannello di amministrazione. Inoltre, gli hooks save_post e wp_head offrono la possibilità di eseguire azioni specifiche durante il salvataggio di un post e l’inclusione di codice personalizzato nell’elemento, rispettivamente. Comprendere e utilizzare correttamente questi hooks è fondamentale per uno sviluppo efficace di plugin avanzati per WordPress.

Non faccio grandi cose ma piccole cose che sembrano funzionare bene.

Roberto Paolucci

Hai già letto questi articoli?

  • by Roberto Paolucci
  • 16 Dicembre 2022
Eliminare Prodotti da WooCommerce in SQL
  • by Roberto Paolucci
Gli Oggetti in JavaScript