Un blog su web & webdesign.

HomePage > Pannelli di amministrazione per theme

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 &raquo;</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 &raquo;" />
         </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.

Lista Commenti

  1. z3ro scrive:

    Ottimo ;) questo me lo tengo da conto ;D

  2. Sw4n scrive:

    E’ vivo! E’ vivo!
    E lotta insieme a noi! :D

  3. Stefano scrive:

    @Sw4n: certe vole ritornano
    @z3ro: :)

  4. Sw4n scrive:

    (Come stai dear? Scrivimi via mail… Lo studio ti sta distruggendo… :D)

  5. Domenico scrive:

    Oggi ero sicuro di trovare un articolo su kde4, che sia in cantiere?
    Prossimamente su questo blog la risposta… :P

    Buon lavoro per qualunque cosa tu stia facendo ;)

  6. asterisco blog scrive:

    […] 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 […]

  7. davide scrive:

    Grazie della dritta, potrebbe tornare utile! :)

  8. Stefano scrive:

    di niente davide ;)
    felice di poterti essere utile

Scrivi un commento