Не удается извлечь CSS Font Awesome для Elementor

Вопрос или проблема

Я использую тот же код ниже, чтобы отключить многие другие стили, но это не работает для Elementor и еще нескольких других.

function enqueue_content(){
  wp_dequeue_style( 'elementor-icons-shared-0' );
  wp_dequeue_style( 'elementor-icons-fa-solid' );
  wp_dequeue_style( 'elementor-icons-fa-regular' );
add_action('wp_enqueue_scripts', 'enqueue_content', 20);

Я также пробовал метод, описанный в их поддержке: https://docs.elementor.com/article/286-speed-up-a-slow-site

ИСПРАВЛЕНИЕ: Похоже, что стили, которые я не могу отключить, загружаются из другой, родительской папки wp-content (это мультисайт).

Я столкнулся с той же проблемой. Этот фрагмент кода сработал для меня.

add_action('elementor/frontend/after_register_styles',function() {
    foreach( [ 'solid', 'regular', 'brands' ] as $style ) {
        wp_deregister_style( 'elementor-icons-fa-' . $style );
    }
}, 20 );

Вам может понадобиться отключить только solid и regular.

add_action('elementor/frontend/after_register_styles',function() {
    foreach( [ 'solid', 'regular' ] as $style ) {
        wp_deregister_style( 'elementor-icons-fa-' . $style );
    }
}, 20 );

Справка Elementor

Ответ или решение

Для успешного удаления стилей Font Awesome в Elementor, существует несколько методов, которые могут вам помочь. Если ваш первоначальный код не работает, это может быть связано с порядком загрузки стилей или тем, что они регистрируются в другом контексте, особенно в мультисайте.

1. Используйте wp_deregister_style:

Эффективный способ удалить стили Font Awesome в Elementor — использовать хук, который срабатывает после регистрации стилей. Вместо использования wp_dequeue_style, используйте wp_deregister_style. Попробуйте следующий код:

add_action('elementor/frontend/after_register_styles', function() {
    foreach (['solid', 'regular', 'brands'] as $style) {
        wp_deregister_style('elementor-icons-fa-' . $style);
    }
}, 20);

Этот код удалит стили 'elementor-icons-fa-solid', 'elementor-icons-fa-regular' и 'elementor-icons-fa-brands'. Вы можете оставить только необходимые вам стили, просто убрав лишние элементы из массива.

2. Подключите ваш код корректно:

Убедитесь, что ваш код подключается после загрузки необходимых стилей. Если вы используете wp_enqueue_scripts, изменение порядка вызовов может помочь:

add_action('wp_enqueue_scripts', 'enqueue_content', 20);
function enqueue_content() {
    remove_action('elementor/frontend/after_register_styles', 'elementor_icons_register_styles');
    // Теперь удаляем стили
    foreach (['solid', 'regular', 'brands'] as $style) {
        wp_deregister_style('elementor-icons-fa-' . $style);
    }
}

3. Проверка на мультисайте:

Если вы работаете с мультисайтом, убедитесь, что вы находитесь на нужном сайте при попытке деактивировать стили. Проверка может выглядеть так:

if (is_multisite() && get_current_blog_id() == YOUR_SITE_ID) {
    // ваш код удаления стилей
}

4. Убедитесь, что ваши изменения не перезаписываются:

Иногда темы или плагины могут перезаписывать настройки. Проверьте, загружаются ли ваши функции позже, чем те, что определяются темой или другим плагином. Для этого увеличьте приоритет, например, до 50:

add_action('elementor/frontend/after_register_styles', function() {
    foreach (['solid', 'regular'] as $style) {
        wp_deregister_style('elementor-icons-fa-' . $style);
    }
}, 50);

Заключение:

Попробуйте предложенные решения и проверьте журнал ошибок PHP, если стили по-прежнему не удаляются. Возможно, они загружаются из другого источника или в неправильном порядке. Если трудности продолжаются, обратитесь к поддержке Elementor или сообществу для получения дополнительной помощи.

Оцените материал
Добавить комментарий

Капча загружается...