WP исключить стиль из футера

113
08 ноября 2019, 09:10

Есть код для подключения стилей и скриптов из header в footer для оптимизации.

    function footer_enqueue_scripts(){
        remove_action('wp_head','wp_print_scripts');
        remove_action('wp_head','wp_print_head_scripts',9);
        remove_action('wp_head','wp_enqueue_scripts',1);
        add_action('wp_footer','wp_print_scripts',5);
        add_action('wp_footer','wp_enqueue_scripts',5);
        add_action('wp_footer','wp_print_head_scripts',5);
    }
    add_action('after_setup_theme','footer_enqueue_scripts');

Подскажите, как можно исключить из этого переноса какой-то один стиль, зарегистрированный с помощью wp_enqueue_style("dfd_header_builder_front", $path);
т.е. чтобы не все стили перенеслись в футер.
Можно ли как-то сформировать массив, и удалить из него один стиль, чтобы он остался в header?

P.S.

class WPBakeryShortCode_Dfd_User_Form extends WPBakeryShortCode {
    public function __construct($settings) {
        wp_enqueue_script("jquery-ui-datepicker");
        wp_enqueue_style("dfd_datepicker", DFD_EXTENSIONS_PLUGIN_URL . "vc_custom/user_form/assets/css/datepicker/datepicker.min.css");

functions.php

function dequeue_dfd() {
    wp_dequeue_style( 'dfd_datepicker' );
}
add_action( 'wp_enqueue_scripts', 'dequeue_dfd', PHP_INT_MAX );  
Answer 1

Чтобы исключить только один стиль, вам нужен следующий код:

function dequeue_dfd() {
    wp_dequeue_style( 'dfd_header_builder_front' );
}
add_action( 'wp_enqueue_scripts', 'dequeue_dfd', PHP_INT_MAX );

Он выполняется по событию wp_enqueue_scripts, с самым низким приоритетом, гарантированно после всех остальных функций по этому событию. Это гарантирует, что стиль dfd_header_builder_front уже добавлен в очередь (иначе невозможно его удалить из очереди). Функция в примере удаляет требуемый стиль.

READ ALSO
Оплата в зависимости от города [закрыт]

Оплата в зависимости от города [закрыт]

Как можно узнать способы оплаты для клиентов, в определенном городе,как здесь

147
Как лучше останавливать скрипт?

Как лучше останавливать скрипт?

есть скрипт, который необходимо останавливать по клику кнопки отмены

117
Не выводится заголовок категории laravel

Не выводится заголовок категории laravel

Выдает ошибку при переходе на роут /catalog/{id}Пытался сделать вывод заголовка соответствующей категории, но видимо что то сделал не так, подскажите...

138