Cum elimin o setare existentă din personalizator?

19 iul. 2012, 01:03:34
Vizualizări: 22.5K
Voturi: 18

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

0
Toate răspunsurile la întrebare 6
2
20

Am întârziat la petrecere, dar această soluție va funcționa:

$wp_customize->remove_control('blogdescription');

Doriți să eliminați doar acest control, nu întreaga secțiune, așa cum a fost sugerat mai sus.

12 feb. 2013 14:50:49
Comentarii

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

mimarcel mimarcel
12 nov. 2018 22:57:22

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

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

Elimină o setare preexistentă din personalizatorul de teme WordPress cu acest cod.

descrierea imaginii

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");

}
6 mai 2015 20:26:37
3

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"

24 aug. 2012 01:42:40
Comentarii

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 byronyasgur
24 aug. 2012 04:29:04

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

jessica jessica
24 aug. 2012 04:32:11

De fapt, acesta nu este răspunsul corect. Această soluție elimină întreaga secțiune care conține atât titlul site-ului cât și sloganul. Întrebarea se referă doar la slogan. Vezi răspunsul de mai jos de la @byronyasgur

BFTrick BFTrick
15 nov. 2012 03:13:40
0

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;
19 iul. 2012 01:08:37
1

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';
}
21 feb. 2017 17:48:16
Comentarii

Super pont, l-am folosit pentru a afișa întotdeauna setarea static_front_page, chiar dacă nu există nicio pagină (în mod implicit, aceasta se afișează doar atunci când există o pagină pe site)

Larzan Larzan
4 oct. 2019 13:38:59
1

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';
}
19 sept. 2016 18:33:37
Comentarii

+1 pentru prioritate > 10. În cazul meu, am modificat customizer-ul folosind un child theme. Fără setarea priorității, $wp_customize->get_setting() va returna null deoarece această funcție pare să fie apelată înainte ca tema părinte să creeze setarea.

Fil Fil
6 feb. 2020 23:35:02