Pannelli di amministrazione per theme
Lavorando ad un tema per Wordpress, mi sono ritrovato nella situazione di dover creare un pannello di amministrazione del tema in questione. Per intenderci, qualcosa di simile al pannello di opzioni di K2, anche se meno sofisticato. La procedura è molto simile a quella per l’aggiunta di menu di amministrazione di plugin. Il tutto nasce creando il file functions.php nella cartella del nostro theme (se non è già presente).
Una volta creato il file functions.php basterà scrivere il codice a noi necessario. Qui di seguito presenterò brevemente la funzione di Wordpress che andremo ad utilizzare.
add_theme_page()
La funzione add_theme_page() è la funzione specifica per aggiungere pagine di amministrazione di temi. Il suo utilizzo schematico è questo:
add_theme_page(page_title, menu_title, access_level/capability, file, [function]);
La funzione accetta 5 paramentri, tutti obbligatori. Il paramentro [function] indica il nome della funzione che genera il conenuto del pannello; i parametri page_title e menu_title rappresentano rispettivamente il titolo (quello che andrà nel tag <title>) e il nome del pannello. In fine, il paramentro access_level/capability indica il livello o le capacità minime che l’utente deve avere per visualizzare il pannello.
Andiamo ora a vedere quelle che potrebbe essere la struttura base del nostro file functions.php
<?php // Funzione che genera il contenuto del pannello function mytheme_theme_page() { if (isset($_POST['info_update'])){ ?> <div id="message" class="updated fade"> <p>Opzioni salvate. <a href="<?php echo get_option('home'); ?>">View site »</a></p> </div> <?php }?> <div class=wrap> <h2>Opzioni MyTheme</h2> <form method="post"> <!-- Le varie opzioni --> <div class="submit"> <input type="submit" name="info_update" value="Update options »" /> </div> </form> </div> <?php } //Fine funzione mytheme_theme_page() function mytheme_add_theme_page() { add_theme_page('Opzioni MyTheme', 'Opzioni MyTheme', 'edit_themes', basename(__FILE__), 'mytheme_theme_page'); } add_action('admin_menu', 'mytheme_add_theme_page'); ?>
Chiaramente, la funzione mytheme_theme_page() si dovrà occupara anche di gestire tramite php il salvataggio, la modifica e l’aggiunta delle varie opzioni (valgono le stesse regole per la scrittura dei plugin).
Per maggiori informazioni riguardo le pagine di amministrazione rimando alla documentazione uffuciale. Per avere più informazioni sui livelli utente e sulle capacità utente vi invito a visitare le pagine: User Levels e Roles and Capabilities.
Articolo pubblicato da Stefano il Tuesday, 11 December 2007 alle 9:21 pm e classificato in Wordpress, Programmazione. Puoi seguire i commenti a questo articolo tramite il feed RSS 2.0.
11 December 2007 alle 10:48 pm
Ottimo
questo me lo tengo da conto ;D
12 December 2007 alle 8:16 pm
E’ vivo! E’ vivo!
E lotta insieme a noi!
13 December 2007 alle 10:31 am
@Sw4n: certe vole ritornano
@z3ro:
13 December 2007 alle 11:19 pm
(Come stai dear? Scrivimi via mail… Lo studio ti sta distruggendo… :D)
12 January 2008 alle 2:19 am
Oggi ero sicuro di trovare un articolo su kde4, che sia in cantiere?
Prossimamente su questo blog la risposta…
Buon lavoro per qualunque cosa tu stia facendo
12 January 2008 alle 2:48 pm
[…] buon Dimenico ci aveva visto giusto: anche io non ho resistito alla smania di provare il nuovo KDE 4.0. Per l’11 gennaio 2008 […]
14 January 2008 alle 7:42 pm
Grazie della dritta, potrebbe tornare utile!
14 January 2008 alle 8:49 pm
di niente davide
felice di poterti essere utile