Cum elimin o setare existentă din personalizator?
Tema mea nu folosește tagline-ul, cum pot să-l elimin din personalizator?

Setarea ar trebui de asemenea eliminată: $wp_customize->remove_setting('blogdescription')

Va elimina și orice valoare stocată momentan acolo? Am o problemă în care vreau să șterg setări/controale existente care au deja date, dar datele sunt în continuare returnate. https://wordpress.stackexchange.com/questions/329343/why-is-remove-setting-and-remove-control-not-working

Elimină o setare preexistentă din personalizatorul de teme WordPress cu acest cod.
add_action( "customize_register", "ruth_sherman_theme_customize_register" );
function ruth_sherman_theme_customize_register( $wp_customize ) {
//=============================================================
// Elimină opțiunea de imagine header și widgeturi din personalizatorul de teme
//=============================================================
$wp_customize->remove_control("header_image");
$wp_customize->remove_panel("widgets");
//=============================================================
// Elimină secțiunile Culori, Imagine de fundal și Pagina frontală statică
// din personalizatorul de teme
//=============================================================
$wp_customize->remove_section("colors");
$wp_customize->remove_section("background_image");
$wp_customize->remove_section("static_front_page");
}

Am descoperit că clasa WP_Customize_Manager are o funcție numită remove_section()
. În funcția ta legată de customize_register
poți pur și simplu să faci:
$wp_customize->remove_section('nav');
$wp_customize->remove_section('static_front_page');
Poți găsi ID-ul secțiunii (de ex. 'nav') dacă inspectezi bara de titlu a secțiunii. Caută ID-ul tag-ului <li>
care o conține și este partea din șir după "customize-section-"
. De exemplu:
<li id="customize-section-static_front_page" class="control-section customize-section">
-- ID-ul este "static_front_page"

Arată mai bine decât soluția mea, așa că voi bifa răspunsul tău - nu l-am testat, dar presupun că tu da... Însă nu înțeleg partea cu title_tagline - nu ar trebui să scrie static_front_page, este o greșeală de tastare BAC?

@byronyasgur da, a fost o eroare la copiere, acum e corectat. Mulțumesc!

Conform OTTO
Un lucru final pe care îl poți adăuga unei secțiuni este opțiunea „theme_supports”. Acest lucru va face ca meniul să nu apară decât dacă tema suportă ceva anume. Dacă pui acest cod în tema în sine, atunci deja știi ce suportă tema, așa că nu prea are sens. Nucleul WordPress folosește această opțiune pentru a nu afișa opțiunile de antet și fundal dacă tema nu le suportă.
Așa că am combinat asta cu
$wp_customize->get_setting('blogdescription')->transport='postMessage';
... și am descoperit că următorul cod a funcționat. Am pus false
pentru theme_supports ... nu sunt sigur ce ar trebui să pun de fapt ... poate cineva mai experimentat poate îmbunătăți asta.
$wp_customize->add_control('blogdescription')->theme_supports=false;

dacă este vorba despre o secțiune / panou sau control de bază, este întotdeauna mai bine să le dezactivezi în loc să le elimini.
add_action( 'customize_register', 'wp_stackexchange_58932' );
function wp_stackexchange_58932($wp_customize){
$wp_customize->get_section( 'static_front_page' )->active_callback = '__return_false';
$wp_customize->get_section( 'custom_css' )->active_callback = '__return_false';
}

Dacă folosești acest cod într-un plugin, ar trebui să utilizezi argumentul de prioritate, cum ar fi 999, și va funcționa în plugin.
add_action( "customize_register","wpcb_theme_customize_register",999,1);
function wpcb_theme_customize_register($wp_customize){
// Schimbă transportul setării 'blogdescription' în 'postMessage'
$wp_customize->get_setting('blogdescription')->transport='postMessage';
}
