Önceden var olan bir özelleştirici ayarını nasıl kaldırabilirim?


Yanıtlar:


17

Partiye geç ama bu hile yapacak:

$wp_customize->remove_control('blogdescription');

Yukarıda önerilen bölümün tamamını değil, yalnızca bu denetimi kaldırmak istersiniz.


1
Ayarın da kaldırılması gerekir: $ wp_customize-> remove_setting ('blogdescription')
mimarcel

Bu, şu anda orada bulunan herhangi bir kayıtlı değeri de kaldıracak mı? Varolan verileri içeren varolan ayarları / denetimleri silmek istediğim bir sorun yaşıyorum, ancak veriler hala geri çağrılıyor. wordpress.stackexchange.com/questions/329343/…
Lee

10

Bu kodla wordpress temasında önceden varolan bir özelleştirici ayarını kaldırın.

resim açıklamasını buraya girin

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

 //=============================================================
 // Remove header image and widgets option from theme customizer
 //=============================================================
 $wp_customize->remove_control("header_image");
 $wp_customize->remove_panel("widgets");

 //=============================================================
 // Remove Colors, Background image, and Static front page 
 // option from theme customizer     
 //=============================================================
 $wp_customize->remove_section("colors");
 $wp_customize->remove_section("background_image");
 $wp_customize->remove_section("static_front_page");

}

5

WP_Customize_Manager sınıfının adlı bir işlevi olduğunu öğrendim remove_section(). Çengelli fonksiyonunuzda customize_registerşunları yapabilirsiniz:

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

Bölümün akordeon başlık çubuğunu incelerseniz bölümün kimliğini (yani 'nav') bulabilirsiniz. İçeren <li>etiketin kimliğine bakın ve dizenin sonraki bölümüdür "customize-section-". IE:

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

- kimlik "static_front_page"


Bu benim çözüm daha iyi görünüyor, bu yüzden size kene verecek - Ben test etmedim ama sanırım var ... Ben title_tagline olsa almıyorum - kesinlikle static_front_page söylemeliyim, bu bir yazım hatası BAC mı?
byronyasgur

@byronyasgur evet, bu bir kopya makarna hatasıydı, şimdi düzeltildi. Teşekkürler!
jessica

Aslında, bu doğru cevap değil. Bu , hem site başlığını hem de sloganı içeren bölümün tamamını kaldırır . Soru sadece sloganı sormak. @Byronyasgur
BFTrick 15:12

2

Göre işletmelerin OTTO

Bir bölüme ekleyebileceğiniz son şey, “theme_supports” seçeneğidir. Bu, tema bir şeyi desteklemedikçe menünün görünmemesini sağlar. Bu kodu bir temanın içine koyuyorsanız, temanın neyi desteklediğini zaten biliyorsunuz, bu yüzden çok mantıklı değil. Çekirdek, tema desteklemiyorsa üstbilgi ve arka plan seçeneklerini göstermek için bunu kullanır.

Bu yüzden

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

... ve aşağıdaki kodun işe yaradığını keşfetti. falseTheme_supports için koymak ... gerçekten ne koymak gerekir emin değilim ... belki biraz daha uzman biri bu konuda artırabilir.

    $wp_customize->add_control('blogdescription')->theme_supports=false;

1

Bunu bir eklentide kullanıyorsanız, 999 gibi öncelik argümanını kullanmalısınız ve eklentide çalışacaktır.

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

function wpcb_theme_customize_register($wp_customize){
   $wp_customize->get_setting('blogdescription')->transport='postMessage';
}

+1 için öncelik> 10. Benim durumumda özelleştiriciyi alt temayla değiştiriyorum. Öncelik ayarlanmadan $ wp_customize-> get_setting (), üst tema ayarı oluşturmadan önce bu işlev çağrıldığından null değerini döndürür.
Fil

1

bölüm / panel veya kontrol çekirdeği varsa, çıkarmak yerine bunları devre dışı bırakmak her zaman daha iyidir.

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

1
Büyük ipucu, sayfa olmasa bile her zaman static_front_page ayarını göstermek için kullandım (varsayılan olarak yalnızca sitede bir sayfa olduğunda gösterilir)
Larzan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.