Как удалить все стили для определенного шаблона страницы?


Я знаю, как создавать дочерние темы и шаблоны страниц. У меня есть дочерняя тема заметности под названием Заметность-ребенок, и у меня есть шаблон страницы под названием blankPage.php .

Для всех страниц, которые используют этот шаблон, я хочу, чтобы CSS вообще не загружался.

Я знаю о wp_register_script, wp_deregister_script, wp_deregister_style, wp_dequeue_style и т. Д., Но я не уверен, где/как их использовать.

Я пробовал вводить некоторые из этих функций в blankPage.php сам по себе, и я также пробовал редактировать functions.php . Я пробовал использовать условное с if(is_page_template('blankPage.php')){...}.

Мы будем признательны за любые рекомендации.

Спасибо!

Author: Ryan, 2015-10-10

2 answers

Вы можете удалить определенные стили и java-скрипты для определенного шаблона страницы, как показано ниже. Добавьте код в файл functions.php вашей текущей темы. Чтобы просмотреть список всех JS и CSS, вы можете использовать плагин, подобный этому: https://wordpress.org/plugins/debug-bar-list-dependencies/

/**
 * Remove specific java scripts.
 */
function se_remove_script() {
    if ( is_page_template( 'blankPage.php' ) ) {
        wp_dequeue_script( 'some-js' );
        wp_dequeue_script( 'some-other-js' );
    }
}

add_action( 'wp_print_scripts', 'se_remove_script', 99 );

/**
 * Remove specific style sheets.
 */
function se_remove_styles() {
    if ( is_page_template( 'blankPage.php' ) ) {
        wp_dequeue_style( 'some-style' );
        wp_dequeue_style( 'some-other-style' );
    }
}

add_action( 'wp_print_styles', 'se_remove_styles', 99 );

Вы можете удалить все стили и java-скрипты за один раз для определенного шаблона страницы, как показано ниже. Добавьте код в файл functions.php вашей текущей темы.

/**
 * Remove all java scripts.
 */
function se_remove_all_scripts() {
    global $wp_scripts;
    if ( is_page_template( 'blankPage.php' ) ) {
        $wp_scripts->queue = array();
    }
}

add_action( 'wp_print_scripts', 'se_remove_all_scripts', 99 );

/**
 * Remove all style sheets.
 */
function se_remove_all_styles() {
    global $wp_styles;
    if ( is_page_template( 'blankPage.php' ) ) {
        $wp_styles->queue = array();
    }
}

add_action( 'wp_print_styles', 'se_remove_all_styles', 99 );
 11
Author: Subharanjan, 2015-10-10 02:33:17

Мне показалось, что я решил проблему, и это было так просто, что я потрясен, я никогда не видел, чтобы об этом кто-нибудь упоминал раньше.

Во-первых, я удалил всю свою дочернюю тему, чтобы начать все с чистого листа.

Затем я использовал https://wordpress.org/plugins/one-click-child-theme / для создания совершенно новой дочерней темы заметного.

Затем в меню Внешний вид > Редактор я просмотрел файл functions.php и заметил, что он был предварительно создан add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' ); и function theme_enqueue_styles() для меня.

Поэтому я просто завернул содержимое функции в if ( !is_page_template( 'rawHtmlPage.php' ) ) { ...}.

 0
Author: Ryan, 2015-10-11 23:11:34