WhatsApp: +39 339 289 627 8
E-mail: info@creazione-siti-web.eu

 

Customizer API Costruire custom options per il tema Wordpress

 

Documentazione ufficale: https://developer.wordpress.org/themes/classic-themes/customize-api/

Aggiungere in Customizer:

add_action( 'customize_register', 'my_theme_customize_register' ); function my_theme_customize_register( WP_Customize_Manager $wp_customize ) { // Panel $wp_customize->add_panel(); $wp_customize->get_panel(); $wp_customize->remove_panel(); // Section $wp_customize->add_section(); $wp_customize->get_section(); $wp_customize->remove_section(); // Setting $wp_customize->add_setting(); $wp_customize->get_setting(); $wp_customize->remove_setting(); // Control $wp_customize->add_control(); $wp_customize->get_control(); $wp_customize->remove_control(); }

Esempio:

function customizer_init( WP_Customize_Manager $wp_customize ){ $section = 'mk_link_color_section'; $transport = 'refresh'; $setting = 'mk_link_color'; $wp_customize->add_section( $section, [ 'title' => 'Colori', 'priority' => 200, 'description' => 'Colori del sito' ] ); $wp_customize->add_setting( $setting, [ 'default' => '#000000', 'transport' => $transport ] ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, $setting, [ 'label' => 'Colore link', 'section' => $section, 'settings' => $setting ] ) ); } add_action( 'customize_register', 'customizer_init' );

Poi per stamparlo in template del tema:

get_theme_mod( 'mk_link_color' );

Un altro esempio, qui invece di un control default classe, si usa type che difenisce il tipo di campo, nel esempio รจ text, ma puo essere anche checkebox...:

function customizer_init( WP_Customize_Manager $wp_customize ){ $section = 'mk_titolo_sito_section'; $transport = 'refresh'; $setting = 'mk_titolo_sito'; $wp_customize->add_section( $section, [ 'title' => 'Titolo del sito', 'priority' => 200, 'description' => 'Parametri del tema' ] ); $wp_customize->add_setting( $setting, [ 'default' => 'Testo default', 'transport' => $transport ] ); $wp_customize->add_control( $setting, [ 'label' => 'Titolo del sito', 'type' => 'text', 'section' => $section, 'settings' => $setting ] ); } add_action( 'customize_register', 'customizer_init' ); per stamparlo nel template del tema: get_theme_mod( 'mk_titolo_sito' );

Classi control che si puo utilizzare:

WP_Customize_Color_Control WP_Customize_Background_Position_Control WP_Customize_Code_Editor_Control WP_Customize_Date_Time_Control WP_Customize_Theme_Control Image: WP_Customize_Image_Control WP_Customize_Background_Image_Control WP_Customize_Cropped_Image_Control WP_Customize_Header_Image_Control WP_Customize_Media_Control WP_Customize_Upload_Control Nav_Menu: WP_Customize_Nav_Menu_Control WP_Customize_Nav_Menu_Item_Control WP_Customize_Nav_Menu_Location_Control WP_Customize_Nav_Menu_Locations_Control WP_Customize_Nav_Menu_Name_Control WP_Customize_New_Menu_Control WP_Customize_Nav_Menu_Auto_Add_Control Widget: WP_Widget_Area_Customize_Control WP_Widget_Form_Customize_Control