Вопрос или проблема
Я использую тот же код ниже, чтобы отключить многие другие стили, но это не работает для 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 );
Ответ или решение
Для успешного удаления стилей 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 или сообществу для получения дополнительной помощи.