ฉันจะลบการตั้งค่า Customizer ที่มีอยู่ก่อนได้อย่างไร


คำตอบ:


17

ไปงานเลี้ยงสาย แต่จะทำเคล็ดลับ:

$wp_customize->remove_control('blogdescription');

คุณต้องการลบเฉพาะการควบคุมนั้นไม่ใช่ส่วนทั้งหมดตามที่แนะนำข้างต้น


1
ควรลบการตั้งค่านี้ด้วย: $ wp_customize-> remove_setting ('blogdescription')
mimarcel

สิ่งนี้จะลบค่าที่เก็บไว้ใด ๆ ที่อยู่ในนั้นหรือไม่ ฉันมีปัญหาที่ฉันต้องการลบการตั้งค่า / การควบคุมที่มีอยู่ที่มีข้อมูลอยู่ แต่ข้อมูลยังคงถูกเรียกกลับ wordpress.stackexchange.com/questions/329343/…
ลีที่

10

ลบการตั้งค่า Customizer ที่มีอยู่ก่อนในธีม wordpress ด้วยรหัสนี้

ป้อนคำอธิบายรูปภาพที่นี่

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 remove_section()มีฟังก์ชั่นที่เรียกว่า ในฟังก์ชันของcustomize_registerคุณคุณสามารถทำสิ่งต่อไปนี้ได้:

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

คุณสามารถค้นหา ID ของส่วน (เช่น 'nav') หากคุณตรวจสอบแถบชื่อของหีบเพลงในส่วนนั้น ดูรหัสของที่มีแท็กและเป็นส่วนหนึ่งของสตริงหลังจากที่<li> "customize-section-"IE:

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

- รหัสคือ "static_front_page"


นั่นดูดีกว่าทางออกของฉันดังนั้นฉันจะให้เห็บคุณ - ฉันไม่ได้ทดสอบ แต่ฉันคิดว่าคุณมี ... ฉันไม่ได้รับ title_tagline แม้ว่า - แน่นอนมันควรจะพูด static_front_page นั่นคือการพิมพ์ผิด BAC?
byronyasgur

@byronyasgur ใช่ว่าเป็นข้อผิดพลาดในการคัดลอกพาสต้าได้รับการแก้ไขแล้ว ขอบคุณ!
ก้า

จริงๆแล้วนี่ไม่ใช่คำตอบที่ถูกต้อง สิ่งนี้จะลบส่วนทั้งหมดที่มีทั้งชื่อไซต์และสโลแกน คำถามกำลังถามเฉพาะสโลแกน ดูคำตอบด้านล่างโดย @byronyasgur
BFTrick

2

เข้าสู่OTTO

สิ่งสุดท้ายที่คุณสามารถเพิ่มในส่วนคือตัวเลือก "theme_supports" สิ่งนี้จะทำให้เมนูไม่ปรากฏเว้นแต่ว่าธีมสนับสนุนบางสิ่ง หากคุณวางรหัสนี้ในธีมของตัวเองคุณก็รู้อยู่แล้วว่าธีมนั้นรองรับอะไรดังนั้นมันจึงไม่สมเหตุสมผลนัก แกนกลางใช้ตัวเลือกนี้เพื่อไม่แสดงตัวเลือกส่วนหัวและพื้นหลังหากธีมไม่รองรับ

ดังนั้นฉันจึงใส่มันเข้าไปด้วย

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

... และค้นพบว่ารหัสต่อไปนี้ใช้งานได้ ฉันใส่falseใน theme_supports ... ไม่แน่ใจว่าสิ่งที่ฉันควรจะใส่ใน ... บางทีบางคนอาจจะมีผู้เชี่ยวชาญมากขึ้นในการปรับปรุงนี้

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

1

หากส่วน / แผงควบคุมหรือแกนควบคุมดีกว่าเสมอที่จะปิดใช้งานแทนที่การเอาออก

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
เคล็ดลับที่ดีฉันใช้เพื่อแสดงการตั้งค่า static_front_page เสมอแม้ว่าจะไม่มีหน้า (โดยค่าเริ่มต้นมันจะแสดงเฉพาะเมื่อมีหน้าเว็บที่มีอยู่ในไซต์)
41919

0

หากคุณกำลังใช้สิ่งนี้ในปลั๊กอินคุณควรใช้อาร์กิวเมนต์ลำดับความสำคัญเช่น 999 และใช้งานได้ในปลั๊กอิน

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

function wpcb_theme_customize_register($wp_customize){
   $wp_customize->get_setting('blogdescription')->transport='postMessage';
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.