Come rimuovere un'impostazione preesistente del customizer?

19 lug 2012, 01:03:34
Visualizzazioni: 22.5K
Voti: 18

Il mio tema non utilizza il tag line, come posso rimuoverlo dal customizer?

0
Tutte le risposte alla domanda 6
2
20

Arrivo tardi alla festa, ma questo farà al caso tuo:

$wp_customize->remove_control('blogdescription');

Vuoi rimuovere solo quel controllo specifico, non l'intera sezione come suggerito sopra.

12 feb 2013 14:50:49
Commenti

L'impostazione dovrebbe anche essere rimossa: $wp_customize->remove_setting('blogdescription')

mimarcel mimarcel
12 nov 2018 22:57:22

Questo rimuoverà anche qualsiasi valore memorizzato attualmente presente? Ho un problema in cui voglio eliminare impostazioni/controlli esistenti che hanno dati esistenti, ma i dati vengono ancora richiamati. https://wordpress.stackexchange.com/questions/329343/why-is-remove-setting-and-remove-control-not-working

Lee Lee
20 feb 2019 13:35:58
0
12

Rimuovi un'impostazione preesistente del personalizzatore in un tema WordPress con questo codice.

Rimuovi impostazioni personalizzatore WordPress

add_action( "customize_register", "ruth_sherman_theme_customize_register" );
function ruth_sherman_theme_customize_register( $wp_customize ) {

 //=============================================================
 // Rimuovi l'opzione dell'immagine di intestazione e dei widget dal personalizzatore del tema
 //=============================================================
 $wp_customize->remove_control("header_image");
 $wp_customize->remove_panel("widgets");

 //=============================================================
 // Rimuovi le opzioni Colori, Immagine di sfondo e Pagina frontale statica
 // dal personalizzatore del tema     
 //=============================================================
 $wp_customize->remove_section("colors");
 $wp_customize->remove_section("background_image");
 $wp_customize->remove_section("static_front_page");

}
6 mag 2015 20:26:37
3

Ho scoperto che la classe WP_Customize_Manager ha una funzione chiamata remove_section(). Nella tua funzione agganciata a customize_register puoi semplicemente fare:

    $wp_customize->remove_section('nav');
    $wp_customize->remove_section('static_front_page');

Puoi trovare l'ID della sezione (es. 'nav') se esamini la barra del titolo a scomparsa della sezione. Guarda l'ID del tag <li> che la contiene ed è la parte della stringa dopo "customize-section-". Ad esempio:

<li id="customize-section-static_front_page" class="control-section customize-section">

-- l'ID è "static_front_page"

24 ago 2012 01:42:40
Commenti

Sembra migliore della mia soluzione, quindi ti darò il segno di spunta - non l'ho testato ma suppongo tu l'abbia fatto... Non capisco però il title_tagline - sicuramente dovrebbe dire static_front_page, è un errore di battitura BAC?

byronyasgur byronyasgur
24 ago 2012 04:29:04

@byronyasgur sì, era un errore di copia-incolla, ora è corretto. Grazie!

jessica jessica
24 ago 2012 04:32:11

In realtà, questa non è la risposta corretta. Questo rimuove l'intera sezione che contiene sia il titolo del sito che il tagline. La domanda chiedeva solo di rimuovere il tagline. Guarda la risposta qui sotto di @byronyasgur

BFTrick BFTrick
15 nov 2012 03:13:40
0

Secondo OTTO

Un'ultima cosa che puoi aggiungere a una sezione è l'opzione "theme_supports". Questo farà sì che il menu non appaia a meno che il tema non supporti qualcosa. Se stai inserendo questo codice nel tema stesso, allora sai già cosa supporta il tema, quindi non ha molto senso. Il core utilizza questo per non mostrare le opzioni di intestazione e sfondo se il tema non le supporta.

Quindi ho combinato questo con

    $wp_customize->get_setting('blogdescription')->transport='postMessage';

... e ho scoperto che il seguente codice funzionava. Ho inserito false per theme_supports ... non sono sicuro di cosa avrei dovuto inserire esattamente ... forse qualcuno più esperto può migliorare questo aspetto.

    $wp_customize->add_control('blogdescription')->theme_supports=false;
19 lug 2012 01:08:37
1

se la sezione / pannello o controllo core, è sempre meglio disabilitarli invece di rimuoverli.

add_action( 'customize_register', 'wp_stackexchange_58932' );
function wp_stackexchange_58932($wp_customize){
    // Disabilita la sezione "Pagina iniziale statica" nel customizer
    $wp_customize->get_section( 'static_front_page' )->active_callback = '__return_false';
    // Disabilita la sezione "CSS personalizzato" nel customizer
    $wp_customize->get_section( 'custom_css' )->active_callback = '__return_false';
}
21 feb 2017 17:48:16
Commenti

Ottimo consiglio, l'ho usato per mostrare sempre l'impostazione static_front_page, anche quando non c'è una pagina (di default viene mostrata solo quando esiste una pagina nel sito)

Larzan Larzan
4 ott 2019 13:38:59
1

Se stai utilizzando questo codice in un plugin, dovresti usare l'argomento priority come 999 e funzionerà nel plugin.

add_action( "customize_register","wpcb_theme_customize_register",999,1);    

function wpcb_theme_customize_register($wp_customize){
   $wp_customize->get_setting('blogdescription')->transport='postMessage';
}
19 set 2016 18:33:37
Commenti

+1 per la priorità > 10. Nel mio caso modifico il customizer tramite un child theme. Senza impostare la priorità, $wp_customize->get_setting() restituirà null poiché questa funzione sembra essere chiamata prima che il tema padre crei l'impostazione.

Fil Fil
6 feb 2020 23:35:02