Intereting Posts
Ошибка при установке темы – «не удалось открыть поток: нет такого файла или каталога в …» Эхо-строка в нижнем колонтитуле панели администратора рядом с версией нет Как центрировать oEmbedded контент Проблема с шаблонами SSL для субдоменов wp multisite создать страницу, которая отображает список категорий title + короткое описание? Разбиение страниц на пользовательские типы сообщений Показывать одно сообщение на автора и ограничивать запрос 8 сообщениями Загрузка PDF-файла клиента (Каталог) – Автоматическое обновление ссылки в PDF-формате Retreaving все изображения, прикрепленные к текущему сообщению Совместно создайте сайт WordPress Как сделать в столбце сортировки adminboard панели администратора для настраиваемого поля, которое подсчитывает количество показов страниц? Локализованный контент WordPress для разных суб-локалей одного языка? В какой последовательности перехватываются крючки, когда публикация «публикуется»? Где WordPress хранит значения пользовательских полей Вызовите веб-службы на пост сначала опубликовать

Темы по умолчанию стили переопределяют собственный CSS-код плагина

Я создал небольшой плагин, который создает виджет, который я создал, в основном просто симпатичный элемент <ul> . К сожалению, все стили виджета по умолчанию переопределяют мой собственный CSS, и добавление !important для определенных стилей ломает некоторые вещи из-за различных размеров и цветовых вариаций.

Есть ли способ обойти это? Я просто хочу, чтобы таблица стилей работала на один виджет, который я сделал, и он не загружается из значений по умолчанию.

Любые советы / предложения были бы весьма признательны.

Solutions Collecting From Web of "Темы по умолчанию стили переопределяют собственный CSS-код плагина"

Сначала я хочу начать с того, что я согласен с тем, что сказал @Wyck

Как правило, плохой идеей переопределить CSS темы с помощью вашего плагина, но добавление пользовательского уникального класса / идентификатора к вашему виджету должно сделать трюк.

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

Во-первых, вам следует избегать использования !important в вашем css. Обычно это означает, что ваш приоритет таблицы стилей неверно установлен

Во-вторых, приоритетом здесь является проблема. Все ваши стили были отменены основной таблицей стилей, из-за того, что ваши стили загружаются первыми, а не последними. Я полагаю, что вы внесли свою таблицу стилей в wp_enqueue_style() а затем подключили ее к wp_enqueue_scripts

 function my_plugin_style() { wp_enqueue_style( 'myPluginStylesheet', plugins_url('stylesheet.css', __FILE__) ); } add_action( 'wp_enqueue_scripts', 'my_plugin_style' ); 

Если вы посмотрите на add_action( $hook, $function_to_add, $priority, $accepted_args ); , вы увидите, что третий параметр ( $priority ) – это то место, где вы устанавливаете приоритет, с которым должен выполняться ваш крючок. Чем выше число, тем ниже приоритет. В вашем случае вам нужно установить очень низкий приоритет, чтобы убедиться, что ваши стили загружаются последними. Поэтому вам нужно будет сделать что-то подобное

 add_action( 'wp_enqueue_scripts', 'my_plugin_style', 9999 );