Удаление CSS-файла с помощью WP_DEQUEUE_STYLE() – инструкция

## WP_DEQUEUE_STYLE() │ WP 3.1.0

Функция WP_DEQUEUE_STYLE() предназначена для удаления ранее подключенного CSS-файла. 

### Возвра��

Эта функция ничего не возвращает (null).

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

```php
wp_dequeue_style( $handle );
  • $handle (строка) (обязательный) — это имя стиля, который нужно удалить.

Примеры

Удаление CSS-файла из очереди

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

Предположим, у нас есть файл стиля my_style.css, который подключен для загрузки в секции <head> HTML-кода:

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() и используя то же имя стиля my_style. Чтобы точно вызов был выполнен после подключения, используем более высокий приоритет для функции хука. Значение по умолчанию равно 10, так что нам нужно указать значение 11.

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

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

Стиль не может быть удален, если он в списке зависимостей

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

Например, у нас есть следующий код:

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, это не сработает — он останется подключенным.

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-includes/functions.wp-styles.php:

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

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

Связанные функции

  • wp_add_inline_style()
  • wp_deregister_style()
  • wp_enqueue_style()
  • wp_get_custom_css()
  • wp_register_style()
  • wp_style_add_data()
  • wp_style_is()

Сценарии и стили

  • add_editor_style()
  • wp_add_inline_script()
  • wp_dequeue_script()
  • wp_deregister_script()
  • wp_enqueue_code_editor()
  • wp_enqueue_editor()
  • wp_enqueue_media()
  • wp_enqueue_script()
  • wp_localize_jquery_ui_datepicker()
  • wp_localize_script()
  • wp_register_script()
  • wp_resource_hints()
  • wp_script_add_data()
  • wp_script_is()

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *