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
se si vorrebbe o se si volesse?
Cosa se si vorrebbe o si volesse? Spiegati meglio
Pingback: Un menu per tutti i sottodomini di Wordpress MS | Domenico Serio | Web Designer Freelance
Pingback: Creare e gestire uno o più menu per i sottodomini su wordpress 3.0 | WordPress MS Italy