wp_dequeue_style()
Удаляет из очереди на вывод css файл стилей. Добавляется в очередь файл с помощью wp_enqueue_style().
Используйте wp_deregister_style(), когда нужно полностью удалить файл стилей из глобальных данных зарегистрированных стилей.
Хуков нет.
Возвращает
null
. Ничего не возвращает.
Использование
wp_dequeue_style( $handle );
- $handle(cтрока) (обязательный)
- Идентификатор файла стилей, который нужно удалить из очереди на вывод. Идентификатор устанавливается при регистрации стилей в функциях: wp_register_style() или wp_enqueue_style().
Как легко узнать идентификатор стиля, читайте в вопросе "Не получается отключить стили плагина".
Примеры
#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' ); }
#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' ); }
Заметки
- Смотрите: WP_Dependencies::dequeue()
Список изменений
С версии 3.1.0 | Введена. |
Код wp_dequeue_style() wp dequeue style WP 6.7.2
function wp_dequeue_style( $handle ) { _wp_scripts_maybe_doing_it_wrong( __FUNCTION__, $handle ); wp_styles()->dequeue( $handle ); }