Làm cách nào để xóa cài đặt tùy biến có sẵn?


Câu trả lời:


16

Đến bữa tiệc muộn nhưng điều này sẽ tạo nên mánh khóe:

$wp_customize->remove_control('blogdescription');

Bạn muốn xóa chỉ điều khiển đó, không phải toàn bộ phần như đề xuất ở trên.


1
Cũng nên xóa cài đặt: $ wp_customize-> remove_setting ('blogdescrip')
mimarcel

Điều này cũng sẽ loại bỏ bất kỳ giá trị được lưu trữ hiện có trong đó? Tôi gặp sự cố khi tôi muốn xóa cài đặt / điều khiển hiện có dữ liệu hiện có, nhưng dữ liệu vẫn đang được gọi lại. wordpress.stackexchange.com/questions/329343/ Mạnh
Lee

10

Xóa cài đặt tùy biến xuất hiện trước trong chủ đề wordpress với mã này.

nhập mô tả hình ảnh ở đây

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

Tôi phát hiện ra lớp WP_Customize_Manager có một hàm được gọi remove_section(). Trong chức năng của bạn được nối với customize_registerbạn chỉ có thể làm:

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

Bạn có thể tìm ID của phần (tức là 'nav') nếu bạn kiểm tra thanh tiêu đề accordion của phần đó. Nhìn vào ID của <li>thẻ chứa và đó là phần của chuỗi sau "customize-section-". I E:

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

- ID là "static_front_page"


Điều đó có vẻ tốt hơn giải pháp của tôi vì vậy tôi sẽ đánh dấu cho bạn - Tôi chưa kiểm tra nhưng tôi cho rằng bạn có ... Tôi không nhận được title_tagline mặc dù - chắc chắn nó nên nói static_front_page, đó có phải là lỗi chính tả không?
byronyasgur

@byronyasgur yep, đó là lỗi sao chép, đã được sửa ngay bây giờ. Cảm ơn!
jessica

Trên thực tế, đây không phải là câu trả lời chính xác. Điều này loại bỏ toàn bộ phần có chứa cả tiêu đề và khẩu hiệu trang web. Câu hỏi chỉ yêu cầu khẩu hiệu. Nhìn vào câu trả lời dưới đây của @byronyasgur
BFTrick

2

Tham gia vào OTTO

Một điều cuối cùng bạn có thể thêm vào một phần là tùy chọn chủ đề của chủ đề. Điều này sẽ làm cho menu không xuất hiện trừ khi chủ đề hỗ trợ một cái gì đó. Nếu bạn đang đặt mã này vào một chủ đề, thì bạn đã biết chủ đề đó hỗ trợ gì, vì vậy nó không có ý nghĩa gì nhiều. Lõi sử dụng điều này để không hiển thị các tùy chọn tiêu đề và nền nếu chủ đề không hỗ trợ chúng.

Vì vậy, tôi đặt nó cùng với

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

... Và phát hiện ra rằng đoạn mã sau đã hoạt động. Tôi đã đưa falsevào theme_supports ... không chắc những gì tôi thực sự nên đưa vào ... có lẽ ai đó chuyên gia hơn một chút có thể cải thiện điều này.

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

1

nếu phần / bảng điều khiển hoặc lõi điều khiển, tốt hơn hết là vô hiệu hóa chúng ở vị trí gỡ bỏ.

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
Mẹo hay, tôi đã sử dụng nó để luôn hiển thị cài đặt static_front_page, ngay cả khi không có trang (theo mặc định, nó chỉ hiển thị khi có một trang tồn tại trên trang web)
Larzan

0

Nếu bạn đang sử dụng điều này trong một plugin, bạn nên sử dụng đối số ưu tiên như 999 và nó sẽ hoạt động trong 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';
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.