Site icon Noir Solutions

WordPress Tutorial Lezioni 6.3. Parte 2 Funzioni Amministrazione Menu

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

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.

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à

Exit mobile version