Creare e gestire uno o più menu per i sottodomini su wordpress 3.0

UPDATE 1 Settembre 2010:
Ho trovato un piccolo problema nello script niente di grave, ma per ulteriori informazioni leggete il nuovo articolo di come visualizzare il menu in tutti i sottodomini

Mi è capitato un mese fa, di creare una sorta di portale con vari sottodomini.
Al dominio principale avevo creato un menu che volevo che fosse esteso per tutti i vari sottodomini che gestisco. Ma purtroppo non conoscendo molto affondo le nuove funzioni introdotte su wordpress 3.0 e non trovando alcun plugin che facesse al mio caso sono riuscito solo a creare per ogni sottodominio un menu uguale. Un lavoro molto macchinoso e soprattutto una vera perdita di tempo infatti se si vorrebbe aggiungere o modificare una voce per tutti i sottodomini dovremmo accedere per ogni back-end di ogni sottodomini e apportare le modifiche.
Finalmente oggi dopo ulteriori informazioni sul codex di wordpress sono riuscito ad ovviare al mio problema. Creando una semplice funzione da richiamare e inserirla dove vorremmo che venisse visualizzata. Diciamo che ho sostituito la funzione wp_nav_menu() nell’header.php e inserito sd_nav_menu();

Basta aprire il file function.php del vostro tema o dei vostri temi, dove volete far comparire il menu generale per tutta la vostra network, e inserire in fondo a questa pagina:

// Semplice funzione per richiamare il menu dal blog principale
function sd_nav_menu() {
global $wpdb;

// Richiamiamo le tabelle sql del blog numero 1 da dove ricavare il nostro menu
$wpdb->set_blog_id(1);

// solita funzione wp_nav_menu(); associata a una variabile
$menu = wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary', 'menu' => '3' ) );
return $menu;
}

È molto semplice da usare iniziamo ad analizzare la funzione:
$wpdb->set_blog_id(1); quel numero 1 è il numero del vostro blog principale, o meglio dove è stato creato il vostro menu principale da applicare a tutti i sottodomini. Se l’avete creato su un altro blog il menu principale basta che cambiate il numero 1 col numero corrispondente. Per ricavare il numero del blog basta essere loggati come superadmin e andare in Super Admin -> Siti trovere la tabella con l’id e il nomi dei vostri domini.

La riga: $menu = wp_nav_menu( array( ‘container_class’ => ‘menu-header’, ‘theme_location’ => ‘primary’, ‘menu’ => ’3′ ) );
è personalizzabile infatti sfrutta come funzione wp_nav_menu(); trovate ulteriori informazioni come personalizzare wp_nav_menu() nel codex di wordpress.org
Come vedete è molto semplice…

UPDATE 1 Settembre 2010:
Ho trovato un piccolo problema nello script niente di grave, ma per ulteriori informazioni leggete il nuovo articolo di come visualizzare il menu in tutti i sottodomini

Questa voce è stata pubblicata in Wordpress e taggata con , , , , , . Contrassegna il permalink.

4 risposte a Creare e gestire uno o più menu per i sottodomini su wordpress 3.0

  1. alebrn scrive:

    se si vorrebbe o se si volesse? :D

  2. Pingback: Un menu per tutti i sottodomini di Wordpress MS | Domenico Serio | Web Designer Freelance

  3. Pingback: Creare e gestire uno o più menu per i sottodomini su wordpress 3.0 | WordPress MS Italy

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>