Как удалить все стили для определенного шаблона страницы?
Я знаю, как создавать дочерние темы и шаблоны страниц. У меня есть дочерняя тема Salient под названием Salient-Child и шаблон страницы 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')){...}
.
Буду благодарен за любые подсказки.
Спасибо!

Вы можете удалить определенные стили и скрипты для конкретного шаблона страницы, как показано ниже. Добавьте код в файл functions.php
вашей текущей темы. Чтобы увидеть список всех JS и CSS, вы можете использовать плагин, например: https://wordpress.org/plugins/debug-bar-list-dependencies/
/**
* Удаление определенных JavaScript-скриптов.
*/
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 );
/**
* Удаление определенных таблиц стилей.
*/
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 );
Вы можете удалить все стили и скрипты сразу для конкретного шаблона страницы, как показано ниже. Добавьте код в файл functions.php
вашей текущей темы.
/**
* Удаление всех JavaScript-скриптов.
*/
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 );
/**
* Удаление всех таблиц стилей.
*/
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 );

Ваша функция se_remove_all_styles
выглядит правильной для того, что мне нужно, но когда я попробовал её, она удалила все стили со ВСЕХ страниц, независимо от шаблона. Я не понимаю почему, учитывая что там есть условие "If". Есть идеи как отладить почему это происходит у меня? Спасибо!

<p>Кажется, я решил проблему, и это было так просто, что я потрясён, что раньше никто об этом не упоминал.</p>
<p>Сначала я удалил всю свою дочернюю тему, чтобы начать с чистого листа.</p>
<p>Затем я использовал <a href="a0">https://wordpress.org/plugins/one-click-child-theme/</a> чтобы создать совершенно новую дочернюю тему Salient.</p>
<p>Потом, в меню <strong>Внешний вид > Редактор</strong>, я просмотрел файл <code>functions.php</code> и заметил, что там уже были предустановлены <code>add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );</code> и <code>function theme_enqueue_styles()</code>.</p>
<p>И я просто обернул содержимое функции в <code>if ( !is_page_template( 'rawHtmlPage.php' ) ) { ...}</code>.</p>
