Вопрос или проблема
Сайт клиента использует плагин Ultimate Visual Composer Addons, который загружает свой CSS файл после стилей родительской и дочерней темы.
Как загрузить стиль дочерней темы после стиля плагина Ultimate Visual Composer Addons?
Буду признателен за помощь.
Обновление: из ответа @the_dramatist я создал functions.php
в дочерней теме и добавил:
add_action( 'wp_enqueue_scripts', 'ross_north_child_theme_scripts' );
function ross_north_child_theme_scripts() {
wp_dequeue_style( 'houzez-style-css' );
wp_enqueue_style( 'houzez-style-css', 'http://rossnorth.websitetechnology.com.au/wp-content/themes/houzez-child/style.css', array('ultimate-style-min-css' ), null, 'all' );
}
Но ultimate-style-min-css
все еще загружается после houzez-style-css
на этом сайте.
В данный момент мне в голову приходят два разных способа-
Один из способов – использовать ultimate-style-min-css
как зависимость для вашего дочернего файла style.css
–
/**
* Предположим, эта функция является вашей темой enqueue
*/
function the_dramatist_child_theme_scripts(){
wp_enqueue_style ('your-child-theme-css','YOUR CSS URL HERE', array( 'ultimate-style-min-css' ), null, 'all');
}
add_action('wp_enqueue_scripts','the_dramatist_child_theme_scripts');
Другим способом будет сначала использовать wp_dequeue_style
, а затем добавить стиль дочерней темы с ultimate-style-min-css
в качестве зависимости-
/**
* Здесь мы сначала убираем стиль, а затем снова добавим стиль дочерней темы с ultimate-style-min-css в качестве зависимости.
*/
add_action( 'wp_enqueue_scripts', 'ross_north_child_theme_scripts' );
function ross_north_child_theme_scripts() {
wp_dequeue_style( 'houzez-style-css' );
wp_enqueue_style( 'houzez-style-css', get_stylesheet_directory_uri() . '/style.css', array('ultimate-style-min-css' ), null, 'all' );
}
Обновление после изменения вопроса.
wp_head с более низким приоритетом, чем приоритет стиля вашего плагина, то решение будет заключаться в использовании того же хука wp_head
с низким приоритетом для стиля вашего плагина.
Надеюсь, вышеизложенное поможет.
Ответ или решение
Чтобы сделать так, чтобы стили вашей дочерней темы загружались после CSS стилей плагина Ultimate Visual Composer Addons, необходимо управлять порядком подключения стилей в WordPress. В данном случае, мы можем использовать хук wp_enqueue_scripts
, который позволяет вам зарегистрировать и подключить стили и скрипты с указанием зависимостей.
Вот подробное руководство по выполнению этой задачи:
Шаг 1: Создание или редактирование файла functions.php
Если у вас ещё нет файла functions.php
в дочерней теме, вам необходимо его создать. В противном случае, откройте существующий файл для редактирования.
Шаг 2: Отключение стилей родительской темы
Первым делом нужно отключить загрузку стилей родительской темы, если они загружаются раньше вашего CSS. Вы можете сделать это с помощью функции wp_dequeue_style
. Предположим, что идентификатор стиля родительской темы — houzez-style-css
.
Шаг 3: Подключение стилей с правильными зависимостями
Теперь подключим стили вашей дочерней темы с указанием плагина как зависимости, чтобы их порядок загрузки оказался правильным.
add_action( 'wp_enqueue_scripts', 'ross_north_child_theme_scripts' );
function ross_north_child_theme_scripts() {
// Отключаем стили родительской темы
wp_dequeue_style( 'houzez-style-css' );
// Подключаем стили дочерней темы с зависимостью от стиля плагина
wp_enqueue_style( 'houzez-style-css', get_stylesheet_directory_uri() . '/style.css', array( 'ultimate-style-min-css' ), null, 'all' );
}
Шаг 4: Проверка идентификаторов стилей
Убедитесь, что вы используете правильные идентификаторы для стилей, которые вы хотите отключить и подключить. Чтобы узнать, какие медиапакеты загружаются, можно временно включить отладку и протестировать их.
Шаг 5: Приоритет загрузки
Если по-прежнему где-то возникают проблемы с порядком загрузки, вы можете управлять этим с помощью изменения приоритета хука. Значение по умолчанию для хука wp_enqueue_scripts
— 10. Вы можете указать меньший приоритет, чтобы стиль дочерней темы загружался позже, например:
add_action( 'wp_enqueue_scripts', 'ross_north_child_theme_scripts', 20 );
Заключение
Следуя приведенным выше шагам, вы сможете контролировать порядок загрузки CSS стилей вашей дочерней темы и плагина. Это необходимо, чтобы гарантировать, что стили вашей дочерней темы имеют приоритет над стилями плагина, что позволит вам вносить изменения, не теряя при этом элементы стилей, предоставляемых плагином.
Если у вас есть дополнительные вопросы или трудности с реализацией, не стесняйтесь обращаться за помощью к сообществу WordPress или ко мне.