WordPressaggiungere un widget al tema |
E’ possibile inserire nuovi widget al tema di wordpress da noi utilizzato, ci sono anche dei plugin per questo ma non sempre soddifano le nostre esigenze.
In tal caso possiamo operare come segue:
Per prima cosa dobbiamo avere una piccola cognizione del codice php, opportuna ma non indispensabile.
Per seconda cosa è bene eseguire l’operazione su un Child Theme ovvero una copia del tema originale, questo per diversi motivi tra questi che se non siamo soddisfatti del risultato o commettiamo degli errori possiamo sempre tornare al tema originale e che in caso di aggiornamenti al tema non perdiamo le impostazioni. Per i child-theme possiamo utilizzare dei plugin.
Una volta costruito un child-theme possiamo iniziare la procedura per modificare il tema di wordpress aggiungendo un widget.
I file che dobbiamo andare a modificare sono due:
- normalmente è il file functions.php, dove dovremmo trovare le funzioni dei widget già esistenti indicate dal codice “register_sidebar”. In alcuni temi mi è capitato che non siano presenti direttamente in questo file ma presenti nel file template-sidebars.php. La modifica in realtà è possibile effettuarla in uno dei due files indifferentemente ma per una questione di archittettura del template e di ordine dello stesso è opportuno andare a modificare il file ove questa sunzione (register_sidebar) sia presente.
- Il secondo file che dobbiamo modificare dipende dalla poszione in cui vogliamo andare a visualizzare ad esempio, se volete inserirli all’interno del content della home, vi basterà inserire il codice all’interno del file index.php in genere o home.php e creare le relative classi nel file di stile .CSS
Registare il widget come funzione
Come sopra scritto questa parte di codice va inserita nel file functions.php o comunque nel file dove queste funzioni vengono richiamate. Ricordare di mettere il codice tra i tag di apertura e chiusura del codice php (<?php ——- ?>).
- Nell’esempio l’area widget la abbiamo chiamata “Widget di prova” ma questo nome può essere variata a seconda delle esigenze.
- Nell’esempio “nome-tema” deve essere sostiuito con il nome del tema che state utlizzando
- Nell’esempio la descrizione del widget “Descrizione posizione widget” andrebbe modificata con altro nome ad esempio al posizione che il nuovo wiget assumerà
<?php
/** Registriamo l’area widget . */
add_action( ‘widgets_init’, ‘area_widgets_init’ );/** Fase di creazione dell’area widget. */
function area_widgets_init() {
// indichiamo la posizione come promemoria in questo commento, ad esempio: colonna sinistra widget.
register_sidebar( array(
‘name’ => __( ‘Widget di prova’, ‘nome-tema’ ),
‘id’ => ‘Widget-di-prova’,
‘description’ => __( ‘Descrizione posizione widget’, ‘nome-tema’ ),
‘before_widget’ => ‘<li id=”%1$s”>’,
‘after_widget’ => ‘</li>’,
‘before_title’ => ‘<h3>’,
‘after_title’ => ‘</h3>’,
) );
}
?>
Posizionare il widget
adesso dobbiamo variare il file dove vogliamo posizionare il widget. Ad esempio, se volete inserirli all’interno del content della home, vi basterà inserire il codice all’interno del file index.php in genere o home.php.
Nel caso indicato noi vogliamo sempre visualizzare questo nuovo widget quindi non mettiamo condizioni varie di codice
- Ricordare che il nome “Widget-di-prova” va sostituito con il nome riportato nella variabile “nome” del codice sopra riportato, ovvero il nome del tema
<div id=”widget-sidebar”>
<ul>
<?php dynamic_sidebar( ‘Widget-di-prova’ ); ?>
</ul>
</div><!– #widget-sidebar .widget-area –>
Eventualmente per altri esempi o maggiori informazioni consulatare la seguente guida con un click di mouse