whatsapp
keyboard_arrow_down Contatti

Domenica

30

Aprile 2023

come aggiungere controlli alla schermata personalizza di WordPress

Come aggiungere controlli a schermata personalizza di WordPress

  1. blog Come aggiungere controlli a schermata personalizza di WordPress
event_available
schedule

Come aggiungere controlli a schermata personalizza di WordPress? Se anche tu vuoi creare funzioni personalizzate nel tuo tema child per poterle facilmente modificare dalla schermata “Personalizza”, sei nel posto giusto.

In questa guida vedremo le funzioni e i metodi della classe $wp_customize, necessaria a personalizzare la schermata di backend.

In sintesi

  • funzione $wp_customize->add_panel() per creare pannelli nella schermata personalizza
  • funzione $wp_customize->add_section() per creare sezioni interne
  • funzione $wp_customize->add_setting() per salvare le informazioni
  • funzione $wp_customize->add_control() per creare i pulsanti di controllo per modificare il sito.

Importante:

Devi creare tutte queste funzioni nell’ordine descritto in precedenza per non causare errori sul tuo sito.

Se hai creato un pannello ma esso non contiene nulla, allora WordPress lo nasconderà in automatico.

Ecco il risultato finale

schermata personalizza modificata dal tema

Vediamo il codice:

Dove inserire il codice

Ci sono diversi posti dove puoi inserire questo codice già pronto, dipende dalla struttura del tuo sito e dalla quantità di codice che vuoi aggiungere. I file più usati sono:

Dove inserire i file dovrai deciderlo tu, in base al tuo progetto. Se vuoi inserire solo qualche piccola porzione di codice allora il file functions.php è la scelta migliore.

Al contrario, se la modifica è molto complessa, ti consiglio di creare un plugin o un tema. Così facendo avrai a disposizione cartelle e sottocartelle per organizzare i tuoi file custom è potrai anche usare il tuo codice per siti diversi

Come aggiungere controlli a schermata personalizza di WordPress

Immaginiamo di voler aggiungere un campo immagine come opzione del tema nella schermata personalizza.

La prima cosa da fare è aprire il file functions.php del tuo tema child e creare questa funzione:

function ekw_customize_register( $wp_customize ) {
	//codice
}
add_action( 'customize_register', 'ekw_customize_register' );

L’hook “customize_register” serve proprio per inserire una funzione alla schermata personalizza di WordPress, nello specifico va a manipolare la classe WP_Customize_Manager che gestisce appunto la pagina.

Adesso dobbiamo inserire la funzione $wp_customize->add_panel() che serve appunto a creare un nuovo pannello, in questo modo:

function ekw_customize_register( $wp_customize ) {

$wp_customize->add_panel( 'ekw_custom_settings', array(
'title'          => 'Impostazioni Eureka Themes',
'description'    => 'Impostazioni generali',
) );

}
add_action( 'customize_register', 'ekw_customize_register' );

Tieni sott’occhio il primo parametro della funzione, “ekw_custom_settings” perché è l’ID del tuo pannello (puoi scegliere quello che vuoi) e dovrà essere inserito nel resto del codice.

Con il codice già pronto qui sotto possiamo creare una sezione interna al pannello appena creato:

function ekw_customize_register( $wp_customize ) {

$wp_customize->add_panel( 'ekw_custom_settings', array(
'title'          => 'Impostazioni Eureka Themes',
'description'    => 'Impostazioni generali di tutto quello che puoi modificare tramite il tema',
) );

$wp_customize->add_section( 'login_page', array(
'title'          => 'Schermata login',
'panel'          => 'ekw_custom_settings',
) );

}
add_action( 'customize_register', 'ekw_customize_register' );

nel parametro “panel” dovrai inserire lo stesso ID che dell’oggetto panel creato prima.

Ora creiamo una impostazione che conterrà i valori inseriti dalla schermata personalizza:

function ekw_customize_register( $wp_customize ) {

$wp_customize->add_panel( 'ekw_custom_settings', array(
'title'          => 'Impostazioni Eureka Themes',
'description'    => 'Impostazioni generali di tutto quello che puoi modificare tramite il tema',
) );

$wp_customize->add_section( 'login_page', array(
'title'          => 'Schermata login',
'panel'          => 'ekw_custom_settings',
) );

$wp_customize->add_setting( 'login_logo', array(
'section'        => 'login_page',
'default'        => '',
) );

}
add_action( 'customize_register', 'ekw_customize_register' );

Ora vediamo il codice completo

function ekw_customize_register( $wp_customize ) {

$wp_customize->add_panel( 'ekw_custom_settings', array(
'title'          => 'Impostazioni Eureka Themes',
'description'    => 'Impostazioni generali di tutto quello che puoi modificare tramite il tema',
) );

$wp_customize->add_section( 'login_page', array(
'title'          => 'Schermata login',
'panel'          => 'ekw_custom_settings',
) );

$wp_customize->add_setting( 'login_logo', array(
'section'        => 'login_page',
'default'        => '',
) );

$wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'login_logo', array(
        'label' => 'Scegli logo',
        'placeholder' => 'Scegli logo',
        'description'    => 'Lascia vuoto per mantenere il logo di WordPress',
        'section' => 'login_page',
        'settings' => 'login_logo',
        'button_labels' => array(
                    'select' => 'Seleziona Logo',
                    'remove' => 'Rimuovi Logo',
                    ),
    )));

}
add_action( 'customize_register', 'ekw_customize_register' );

L’ultima porzione di codice inserita crea una casella di tipo immagine nella quale potrai cambiare il logo e cliccare su “pubblica”.

Come richiamare il codice nel frontend

Per richiamare il codice nel frontend ti basterà andare nella pagina in cui vuoi far apparire il tuo logo e utilizzare la funzione “get_theme_mod(‘login_logo’)”. Se vuoi ho scritto per te una guida su come usare questa funzione.

Il parametro che dovrai passare è quello che hai inserito come ID della funzione $wp_customize->add_setting.

Ti lascio il link alla documentazione ufficiale di WordPress.

Ti è piaciuto questo articolo?

favorite thumb_down
library_books

Leggi anche

Come inviare dati dei form con Ajax serialize() a php
Scopri
Come usare le chiavi API Google
Scopri
Come unire file Javascript e CSS in WordPress
Scopri

Contattami

perm_identity
alternate_email
phonelink_ring
message

Il tuo messaggio è stato inviato con successo!
Ti risponderemo a breve

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

message
perm_identity
alternate_email

keyboard_arrow_up