Как правильно переопределить 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.

Вау, мне не хватает плюсов, чтобы выразить свою благодарность. Это сработало!
