wp_dequeue_style()WP 3.1.0

Удаляет из очереди на вывод css файл стилей. Добавляется в очередь файл с помощью wp_enqueue_style().

Используйте wp_deregister_style(), когда нужно полностью удалить файл стилей из глобальных данных зарегистрированных стилей.

Хуков нет.

Возвращает

null. Ничего не возвращает.

Использование

wp_dequeue_style( $handle );
$handle(cтрока) (обязательный)
Идентификатор файла стилей, который нужно удалить из очереди на вывод. Идентификатор устанавливается при регистрации стилей в функциях: wp_register_style() или wp_enqueue_style().

Как легко узнать идентификатор стиля, читайте в вопросе "Не получается отключить стили плагина".

Примеры

0

#1 Удаления файла стилей из очереди на вывод

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

Допустим, у нас подключен файл стилей http://example.com/.../my_style.css в head часть:

add_action( 'wp_enqueue_scripts', 'my_enqueue_style' );

function my_enqueue_style(){
	wp_enqueue_style( 'my_style', get_template_directory_uri() . '/my_style.css' );
}

Теперь в нашем плагине или дочерней теме мы хотим удалить эти стили.

Это можно сделать, запустив wp_dequeue_style() после wp_enqueue_style() и используя тот же ID my_style. Чтобы быть уверенным, что мы вызываем функцию 'dequeue' после 'enqueue', используем более поздний приоритет для хука. Значение по умолчанию равно 10, поэтому для более позднего запуска нам нужно значение 11 и больше, используем 99.

add_action( 'wp_enqueue_scripts', 'my_dequeue_style', 99 );

function my_dequeue_style(){
	wp_dequeue_style( 'my_style' );
}
0

#2 Стиль не может быть отменен, если он находится в списке зависимостей.

Эта функция не может удалить хэндл, который находится в списке зависимостей.

Например, мы подключили стили так:

add_action( 'wp_enqueue_scripts', 'wp_kama_enqueue' );

function wp_kama_enqueue() {
	wp_enqueue_style( 'my_style', plugin_dir_url(__FILE__) . 'assets/css/style.css', [ 'my_style_two' ] );
}

Если мы попытаемся удалить стиль my_style_two, это не сработает, и он все равно будет выведен в enqueue.

add_action( 'wp_enqueue_scripts', 'wp_kama_dequeue', 100 );

function wp_kama_dequeue() {
	wp_dequeue_style( 'my_style_two' );
}

Заметки

Список изменений

С версии 3.1.0 Введена.

Код wp_dequeue_style() WP 6.5.2

function wp_dequeue_style( $handle ) {
	_wp_scripts_maybe_doing_it_wrong( __FUNCTION__, $handle );

	wp_styles()->dequeue( $handle );
}