Abbiamo visto già molti tipi di funzioni condizionali , commento, da inserire in functions.php etc.e etc. Questo tipo di funzioni che vi mostreremo adesso vi permetteranno di creare dei menù nel front end del vostro blog wordpress. Guardiamo quindi come funzionano e quali sono.
La funzione più importante per creare un menù di primo livello è add_menu_page la cui sintassi è la seguente.
<?php add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position ); ?>
dove
- page_title è il testo che deve essere visualizzato quando selezioniamo un menu
- menu_title è il nome del menu
- capability ossia la capacità per questo menu di essere visualizzato ad un utente. Senza addentrarci per il momento nello specifico quando si utilizzano le Setting API assume valore ‘manage_options”
- menu_slug lo slug che si vuole fare assumere al menù. Unica precauzione è che deve essere unico.
- function la funzione che richiamiamo per compiere le operazioni
- icon_url rappresenta l’url dell’icona da usare per questo menù. Si tratta di un parametro facoltativo.
- position la posizione nel menù dove dovrebbe apparire. Il valore di default è omesso.
Aggiunge un sotto menù
Vediamo adesso la funzione per aggiungere un sotto menu
<?php add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function); ?>
dove valori sono gli stessi del menu’ precedente fa eccezione il primo. ossia
parent_slug rappresenta lo slug del nome per il menù , oppure il nome di admin WordPress standard che supplisce al menu top level nel quale volete inserire il sotto menù oppure il file del plugins presente nel menu’ stesso. Per esempio.
- Per Bacheca: add_submenu_page(‘index.php’,…)
- Per Articoli: add_submenu_page(‘edit.php’,…)
- Per Media: add_submenu_page(‘upload.php’,…)
- Per Pagine: add_submenu_page(‘edit.php?post_type=page’,…)
- Per Commento: add_submenu_page(‘edit-comments.php’,…)
- Per Custom Post Types: add_submenu_page(‘edit.php?post_type=your_post_type’,…)
- Per Aspetto: add_submenu_page(‘themes.php’,…)
- Per Plugins: add_submenu_page(‘plugins.php’,…)
- Per Utenti: add_submenu_page(‘users.php’,…)
- Per Strumenti: add_submenu_page(‘tools.php’,…)
- Per Impostazioni: add_submenu_page(‘options-general.php’,…)
Un possibile esempio è
<?php add_menu_page('Page title', 'Top-level menu title', 'manage_options', 'my-top-level-handle', 'my_magic_function'); add_submenu_page( 'my-top-level-handle', 'Page title', 'Sub-menu title', 'manage_options', 'my-submenu-handle', 'my_magic_function'); ?>
oppure potrebbe essere
<?php add_submenu_page('edit.php?post_type=wiki', 'Options', 'Options', 'manage_options', 'wiki-options', array(&$this, 'options_page') ); ?>
Questo per aggiungere un menù o un sottomenù generico.
Se invece volessimo aggiungere un menù ad una dei menù già presenti nel back end del WordPress dovremmo aggiungere una funzione ad hoc.
Per esempio add_menu funzione wordpress
Bacheca
<?php add_dashboard_page( $page_title, $menu_title, $capability, $menu_slug, $function); ?>
Articoli
<?php add_posts_page( $page_title, $menu_title, $capability, $menu_slug, $function); ?>
Media
<?php add_media_page( $page_title, $menu_title, $capability, $menu_slug, $function); ?>
Pagine
<?php add_pages_page( $page_title, $menu_title, $capability, $menu_slug, $function); ?>
Commenti
<?php add_comments_page( $page_title, $menu_title, $capability, $menu_slug, $function); ?>
Aspetto
<?php add_theme_page( $page_title, $menu_title, $capability, $menu_slug, $function); ?>
Plugins
<?php add_plugins_page( $page_title, $menu_title, $capability, $menu_slug, $function); ?>
Utenti
<?php add_users_page( $page_title, $menu_title, $capability, $menu_slug, $function); ?>
Strumenti
<?php add_management_page( $page_title, $menu_title, $capability, $menu_slug, $function); ?>
Impostazioni
<?php add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function); ?>
Vi lascio quindi un esempio omni comprensivo degli add_menu , dopo un pò di pratica vedrete che non si tratta di nulla di veramente complicato.
<?php /* Plugin Name: Menu Esempio Plugin URI: http://noirsolutions.net Description: Menu Esempio del funzionamento delle funzioni WordPress per aggiungere menu Author: Staff WordPress Author URI: http://noirsolutions.net/author/staff */ // aggangio per aggiungere admin menu add_action('admin_menu', 'mt_add_pages'); // funziuone action function mt_add_pages() { // Aggiungi un sotto menu sotto impostazioni add_options_page(__('Test Settings','menu-test'), __('Test Settings','menu-test'), 'manage_options', 'testsettings', 'mt_settings_page'); // Aggiungi un sotto menu sotto Strumenti add_management_page( __('Test Tools','menu-test'), __('Test Tools','menu-test'), 'manage_options', 'testtools', 'mt_tools_page'); // Aggiungi un menu top level add_menu_page(__('Test Toplevel','menu-test'), __('Test Toplevel','menu-test'), 'manage_options', 'mt-top-level-handle', 'mt_toplevel_page' ); //Aggiungi un sotto menu top level add_submenu_page('mt-top-level-handle', __('Test Sublevel','menu-test'), __('Test Sublevel','menu-test'), 'manage_options', 'sub-page', 'mt_sublevel_page'); //Aggiungi un altro sotto menu top level add_submenu_page('mt-top-level-handle', __('Test Sublevel 2','menu-test'), __('Test Sublevel 2','menu-test'), 'manage_options', 'sub-page2', 'mt_sublevel_page2'); } function mt_settings_page() { echo "<h2>" . __( 'Test Settings', 'menu-test' ) . "</h2>"; } // mt_tools_page() displays the page content for the Test Tools submenu function mt_tools_page() { echo "<h2>" . __( 'Test Tools', 'menu-test' ) . "</h2>"; } function mt_toplevel_page() { echo "<h2>" . __( 'Test Toplevel', 'menu-test' ) . "</h2>"; } function mt_sublevel_page() { echo "<h2>" . __( 'Prova sotto livello', 'menu-test' ) . "</h2>"; } function mt_sublevel_page2() { echo "<h2>" . __( 'Prova Menu sottolivello 2', 'menu-test' ) . "</h2>"; } ?>
La funzione
__(
Rappresenta unicamente una funzione per la traduzione se presente non introduce nessuna novità
Devi effettuare l'accesso per postare un commento.