Как правильно переопределить CSS плагина с помощью дочерней темы?
Я решил придерживаться соглашений WordPress, чтобы создать чистую и элегантную дочернюю тему. Однако я не уверен, как поступить в определенной ситуации.
Я хочу переопределить CSS для некоторых плагинов на моем WordPress сайте, и эта отличная статья была хорошим шагом в правильном направлении. Моя единственная проблема в том, что я хотел бы сделать все возможное, чтобы избежать переопределения файла header.php в родительской теме для достижения этой цели.
Есть ли другой замечательный способ сделать это? Спасибо за помощь!
Обновление:
Как было отмечено в комментарии другого пользователя, это действительно зависит от того, как плагин реализует свои стили. Если отвлечься от этого, предположим, что плагины предоставляют возможность реализации стилей в файле style.css дочерней темы или, в моем случае, в отдельной папке styles, связанной с этим файлом style.css.
Я также знаю, что могу использовать !important повсюду, но это обычно считается плохой практикой.
Если плагины правильно добавляют свои стили через wp_enqueue_style, вам достаточно их убрать с помощью wp_dequeue_style:
function wpa_dequeue_style() {
wp_dequeue_style( 'plugin-style-handle' );
}
add_action( 'wp_enqueue_scripts', 'wpa_dequeue_style', 100 );
Будет ли это работать, зависит от того, как и где плагины добавляют свои стили, поэтому без знания конкретных методов, используемых плагинами, нельзя дать однозначный ответ.
РЕДАКТИРОВАНИЕ — еще один вариант, который не предполагает полное удаление стилей, это подключение собственных стилей с зависимостью от стилей плагина:
wp_enqueue_style(
'my-styles',
get_template_directory_uri() . '/mystyles.css',
array('plugin-style-handle')
);
Это, безусловно, шаг в правильном направлении. Однако, мои переопределения - это правки, поэтому компромисс в виде копирования всей таблицы стилей и её редактирования выглядит немного контрпродуктивным. Как вы сказали, это также полностью зависит от того, как добавляется CSS.
Jordan Thornquest
Вау, мне не хватает плюсов, чтобы выразить свою благодарность. Это сработало!
Jordan Thornquest