Як видалити попередньо встановлені налаштування?


Відповіді:


17

Пізно до вечірки, але це зробить трюк:

$wp_customize->remove_control('blogdescription');

Ви хочете видалити саме цей елемент керування, а не весь розділ, як було запропоновано вище.


1
Параметр також слід видалити: $ wp_customize-> remove_setting ('blogdescription')
mimarcel

Чи це також видалить збережене значення, яке зараз знаходиться там? У мене виникла проблема, коли я хочу видалити існуючі налаштування / елементи керування, які містять дані, але дані все ще передзвонюються. wordpress.stackexchange.com/questions/329343/…
Лі

10

За допомогою цього коду видаліть попередньо встановлений параметр налаштування в темі 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');

Ви можете знайти ідентифікатор розділу (тобто "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 так, виправлена ​​помилка копіювання пасти. Спасибі!
jessica

Власне, це не правильна відповідь. Це видаляє весь розділ, який містить і назву сайту, і тег. Питання задається лише для мітки. Подивіться на відповідь нижче від @byronyasgur
BFTrick

2

Приєднання до ОТТО

Останнє, що ви можете додати до розділу, - це параметр "theme_supports". Це призведе до того, що меню не з’явиться, якщо тема щось не підтримує. Якщо ви вводите цей код у саму тему, то ви вже знаєте, що підтримує ця тема, тому це не має особливого сенсу. Ядро використовує це, щоб не відображати параметри заголовка та фону, якщо тема їх не підтримує.

Тож я поклав це разом із

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

... і виявив, що працює наступний код. Я вкладаю falseтему_підтримки ... не впевнений, що я насправді повинен вносити ... можливо, хтось трохи більше експерта може вдосконалити це.

    $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, навіть якщо немає сторінки (за замовчуванням вона відображається лише тоді, коли на сайті існує сторінка)
Larzan

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';
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.