Chủ đề của tôi không sử dụng dòng thẻ, làm cách nào để xóa nó khỏi tùy biến?
Chủ đề của tôi không sử dụng dòng thẻ, làm cách nào để xóa nó khỏi tùy biến?
Câu trả lời:
Đế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.
Xóa cài đặt tùy biến xuất hiện trước trong chủ đề wordpress với mã nà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");
}
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_register
bạ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"
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 false
và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;
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';
}
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';
}