Intereting Posts
Разрешить доступ к домашней странице и экрану входа в систему, но ничего больше (кроме случаев, когда вы вошли в систему) Изменить таксономический термин для пользовательского типа сообщения на часовом хроне Получить соседний пост по поисковому запросу Как сделать float-элемент в tinymce Отображать сообщение на главной странице при активации новой учетной записи пользователя Использование WP_Query для запроса нескольких категорий с ограниченными сообщениями по категориям? Как запретить участнику публиковать темы (bbpress)? Связанные теги не в категории вызов wp_insert_user в пользовательском классе не работает Добавить микроданные из schema.org Загрузка результатов поиска в div Multisite install – создание каждого домена с его собственным каталогом shortcodes – стиль или изменение / удаление квадратных скобок? Загружать содержимое сообщения в div с помощью ajax Элементы, плавающие друг над другом при изменении размера или проверки сайта на мобильных устройствах. Две тысячи двенадчать

Лучший способ для перезаписи плагина css с пользовательским

Мне нужно внести небольшие изменения в bbPress (плагин форума для WordPress) для клиента, всего около 5 строк CSS.

Но я не уверен, где лучше всего разместить этот код CSS. Измените исходные файлы CSS-плагинов, кажется, не очень хорошая идея, потому что это может быть перезаписано в следующем обновлении, и трудно понять, что было модифицировано.

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

Еще одна идея – написать небольшой плагин, который вводит css-код в DOM. Он будет независим от любых обновлений внешних вещей. Это похоже на единственный способ убедиться, что код не будет перезаписан никаким обновлением. Но плагин для этих нескольких строк также кажется немного завышенным.

Где лучше всего разместить такие модификации CSS, чтобы они не перезаписывались обновлениями WordPress, тем или плагинов?

WordPress разработан очень модульно, поэтому мне кажется, что это невозможно без дополнительной работы (которая должна быть документирована и учитываться при каждом обновлении).

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

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

Вы можете сделать что-то подобное

  • Создайте папку в своей папке плагинов и назовите ее, что вам нравится

  • Создайте основной файл плагина и вызовите то, что вы хотите. Откройте его и добавьте следующее вверху этого файла

    <?php /* Plugin Name: NAME WHATEVER YOU LIKE */ 
  • Создайте файл style.css в своей папке плагина и загрузите все свои пользовательские стили.

  • Затем введите свой собственный стиль style.css. У вас есть два варианта: используйте параметр $dependency в wp_enqueue_style() или просто добавьте $priority к вашему действию

Вот пример последнего

 add_action( 'wp_enqueue_scripts', 'my_custom_styles', PHP_INT_MAX ); function my_custom_styles() { /* Register our stylesheet. */ wp_enqueue_style( 'myPluginStylesheet', plugins_url('stylesheet.css', __FILE__) ); } 

Основной файл вашего плагина должен выглядеть примерно так:

 <?php /* Plugin Name: NAME WHATEVER YOU LIKE */ add_action( 'wp_enqueue_scripts', 'my_custom_styles', PHP_INT_MAX ); function my_custom_styles() { /* Register our stylesheet. */ wp_enqueue_style( 'myPluginStylesheet', plugins_url('stylesheet.css', __FILE__) ); } 

Если вы настраиваете тему, мой совет – использовать дочернюю тему.

Зачем?

Детская тема в WordPress наследует все функциональные возможности, функции и код родительской темы без внесения каких-либо изменений в родительскую тему. Это позволило пользователям изменять стиль родительской темы и добавлять / изменять функции, не теряя возможности обновлять родительскую тему.

Как изменить тему?

  1. Создание дочерней темы Инструкции по коду

  2. Добавьте дополнительные строки css в style.css

  3. Это все.