Come rimuovere un'impostazione preesistente del customizer?
Il mio tema non utilizza il tag line, come posso rimuoverlo dal customizer?

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

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

Rimuovi un'impostazione preesistente del personalizzatore in un tema WordPress con questo codice.
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");
}

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"

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 sì, era un errore di copia-incolla, ora è corretto. Grazie!

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;

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';
}

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';
}
