it-swarm.com.ru

Как аккуратно переопределить CSS плагина с дочерней темой?

Я взял на себя обязательство придерживаться соглашений WordPress, чтобы иметь чистую, сексуальную детскую тему. Тем не менее, я не уверен, как поступить по определенному вопросу.

Я хотел бы переопределить CSS для некоторых плагинов на моем сайте WordPress, и этот замечательный пост был отличным шагом в правильном направлении. Меня беспокоит только то, что я хотел бы сделать все от меня зависящее, чтобы избежать переопределения файла header.php в моей родительской теме, чтобы сделать это.

Есть ли еще один замечательный способ сделать это? Спасибо за вашу помощь!

Обновить :

Как было отмечено в комментарии другого пользователя, это на самом деле зависит от того, как плагин реализует свои стили. Помимо этого, предположим, что плагины предоставляют способ реализации стилей в листе style.css дочерней темы или, в моем случае, в отдельной папке styles, связанной с этим листом style.css.

Я также знаю, что могу использовать !important везде, но это, как правило, осуждается.

7
Jordan Thornquest

Если плагины правильно добавляют свои стили через wp_enqueue_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')
);
14
Milo