Темы
- Редактирование плагинов
- Меню выбора плагина
- Обновить файл
Среди множества редактируемых пользователем файлов в стандартной установке WordPress есть файлы плагинов. Хотя вам редко нужно изменять код плагина, редактор плагинов позволяет редактировать эти файлы.
Редактирование плагинов
Встроенный редактор плагинов позволяет вам просматривать или изменять любой PHP-код плагина в большом текстовом (или редактируемом) поле.
Если конкретный файл доступен для записи, вы можете внести изменения и сохранить файл отсюда. В противном случае вы увидите сообщение «Вам необходимо сделать этот файл доступным для записи, прежде чем вы сможете сохранить свои изменения».
Имя редактируемого файла плагина отображается в верхней части текстового поля. Поскольку файлы плагина представляют собой чистый текст, в текстовое поле нельзя вставлять изображения или картинки.
Наверх ↑
Меню выбора плагина
Вы можете выбрать плагин для редактирования из раскрывающегося меню в правом верхнем углу. Просто найдите название плагина и нажмите «Выбрать».
Файлы плагина
Под меню выбора плагина находится список файлов плагина, которые можно редактировать. Кликните на любой файл, чтобы поместить текст этого файла в текстовое поле.
Будьте очень осторожны при редактировании файлов активных плагинов. Редактор не делает резервных копий. Если вы допустите ошибку, которая приведет к сбою вашего сайта, вы не сможете использовать редактор для устранения проблемы. В таком случае используйте FTP, чтобы либо загрузить рабочую резервную копию проблемного файла, либо изменить имя папки /plugins/имя-плагина в /wp-content/, что эффективно деактивирует плагин, пока папка не будет переименована правильно.
Поиск в документации
Под редактором есть раскрывающееся меню со списком имен функций, найденных в файле плагина, который вы редактируете. Выбрав функцию и нажав кнопку «Поиск», вы можете просмотреть ее документацию на сайте developer.wordpress.org (функции WordPress) или php.net (функции PHP).
Наверх ↑
Обновить файл
Не забудьте нажать эту кнопку, чтобы сохранить изменения, внесённые в файл плагина. После нажатия этой кнопки вы должны увидеть всплывающее сообщение в верхней части экрана с надписью «Файл успешно отредактирован». Если вы не видите это сообщение, значит, ваши изменения не сохранены! Обратите внимание, что если файл недоступен для записи, кнопка «Обновить файл» будет недоступна.
Всем привет, сегодня будет интересная запись, про то как можно самому редактировать wordpress плагины. Например установили вы плагин какой-нибудь полезный, а некоторые его элементы отображаются на английском языке или вам цвет не нравится. Не обязательно сразу же удалять этот плагин, вы сможете сами изменить этот плагин, заменить английские слова на Русские или поменять цвет того или иного элемента. Я покажу вам как можно самому редактировать wordpress плагины. Я установил себе на черновой сайт плагин, который добавляет на сайт виджет формы входа на сайт login. Как раз на примере этого плагина я вам и буду объяснять как редактируются плагины.
Замена слов
После добавления виджета на сайт, в форме отображаются английские заголовки полей ввода и на кнопке то же английское слово. Я заменю эти слова на Русские. Для начало вам нужно скопировать все слова, которые вы хотите заменить.
Далее, перейдите на страницу Плагинов, под названием плагина, который вы хотите изменить, нажмите на вкладку — Изменить.
Далее, на странице редактирования плагина, справа, вам нужно найти нужный файл для редактирования и нажать на него. Конечно иногда приходится по порядку искать во всех подряд файлов, чтобы найти нужное слово для перевода, но со временем начинаешь быстрее находить, так как появляется опыт, начинаешь замечать некоторые нюансы. Так как редактировать я буду виджет, то я выбрал файл, у которого название файла заканчивается на widget.php и я оказался прав. После открытия файла, необходимо найти нужные нам слова для перевода. Можно искать вручную, если в файле не много текста, если текста много, то лучше воспользоваться поиском по странице.
Нажмите сочетание клавиш Ctrl+F у вас в углу экрана появится поиск по странице, введите в поле поиска слово, которое вы хотите найти и нажмите Enter. Если вы открыли нужный файл, то вам покажут слово, которое вы ищите, выделенное оранжевым цветом, вам лишь останется заменить слово на Русское. Но может отобразиться и несколько одних и тех же слов и вам нужно выбрать нужное слово для перевода. Все слова в плагинах, которые отображаются на сайте, в виджетах или в формах и т.д., в редактируемом файле будут отображаться в одиночных кавычках и скобках.
Пример нужного слова, которое мне нужно заменить на Русское, в одиночных кавычках и скобках.
Заменяю слово на своё, на Русское, обновляю файл, перехожу на сайт и смотрю результат, если заменил нужное слово, то результат отобразится на форме.

То же самое и с остальными словами, они находятся в том же файле, неподалёку, долго вам их искать не придётся, так же заменяете их и обновляете файл.
Редактирование стиля
Для изменения стиля, например, чтобы поменять цвет или размер, вам нужно открыть файл, название которого заканчивается на widget.css. Но, например в моём случае, виджет формы подстроился под стили шаблона, то есть своих стилей он не имеет, такое можно наблюдать в большинстве плагинов, виджетов, форм, на разных темах они будут выглядеть по разному. То есть внешность формы виджета, зависит от внешности вашей wordpress темы. И чтобы изменить стиль такого плагина, вам нужно редактировать не плагин, а сам шаблон сайта, его стили.
Вы можете проверить, если форма виджета имеет свои стили, то в css файле они будут отображаться и вы их сможете изменить. Например для изменения стиля кнопки, должно присутствовать значение — Button background color — цвет фона кнопки и т.д.
На этом у меня всё, жду ваших комментариев, до новых встреч !
Плагины wordpress достаточно разнообразны. Среди них можно отыскать решение для настройки сайта и отдельных его функций. Но даже при этом разнообразии иногда возникают ситуации, в которых невозможно найти идеально подходящий плагин, и приходится корректировать то, что есть. Например, если в каталоге wordpress размещен идеальное по всем параметрам расширение, но веб мастера не устраивает цвет выводимых им элементов. Или если некоторые текстовые элементы отображаются на английском языке. Во всех подобных ситуациях плагины можно редактировать разными способами.
Что такое редактор плагинов
Это функция, позволяющая легко корректировать код расширения. По сути – простой текстовый редактор со своим набором команд. Чтобы его найти, нужно на административной панели WordPress открыть раздел «плагины», и в определенном расширении нажать кнопку «редактировать».
Редактор имеет текстовое окно, отображающее файлы плагинов. В нем удобно находить как само расширение, которое подлежит корректировке, так и отдельные его коды. Изменения будут активированы после обновления расширения. До этого момента можно все отменить и оставить как есть.
Стоит отметить, что встроенный редактор плагинов предусмотрен для того, чтобы разработчики всегда могли быстро посмотреть коды. Но для внесения изменений его не используют. С этой целью его применяют только пользователи. Здесь стоит отметить, что перед внесением каких-либо корректировок имеет смысл сначала связаться с разработчиком. Возможно, он поможет изменить расширение более деликатным образом, например, при помощи фильтра.
Если требуется вмешательство в код плагина без привлечения разработчиков, можно сделать это самостоятельно. Просто это потребует времени и усилий. К тому же никто не застрахован от ошибок, а они будут видны только после обновления. Допущенные ошибки не будут блокироваться, но сам плагин будет отключен, а во всплывающем окне будет появляться подсказка, объясняющее причину отключения.
Как редактировать плагины
Процесс редактирования зависит от того что именно следует изменить.
Замена слов
Достаточно распространенная причина, по которой используется встроенный редактор – слова в новом расширении отображены на английском языке. Эти слова можно просто заменить. Через админ панель открывается плагин, и нажимается кнопка «редактировать». Откроется окно редактора. Справа будет список всех файлов данного расширения. Из него нужно выбрать тот, который отвечает за вывод определенных слов. При наличии небольшого объема кода можно просто найти по порядку все слова, подлежащие замене. Если же файл содержит внушительный объем текста, лучше использовать строку поиска. Каждое неправильно выводимое слово надо удалить, а на его месте вписать вручную слово на русском языке.
Чтобы вызвать строку поиска нажимают сочетание клавиш Ctrl+F. В нее вводят слово, нажимают Enter, и оно выделяется цветом. Если этого не произошло, значит открыт был не тот файл, следует его закрыть и открыть нужный. Выделенное слово удаляется и на его место вписывается русское.
Если искомое слово встречается в плагине или виджите несколько раз, то выделено оно будет в нескольких местах. Обычно переводят все выделенные слова. Если необходимо для того или иного элемента оставить английский вариант, необходимо внимательно рассмотреть окружающие слова. Обычно там есть подсказка, указывающая, где выводится каждое выделенное слово. Но можно и добиться желаемого эффекта экспериментальным путем.
Обычно все слова, которые нужно перевести находятся в файле недалеко друг от друга. Поэтому главное найти место, где они сгруппированы. Потом следует то что нужно заменить, обновить дополнение, обновить сайт и посмотреть на результат. При необходимости снова открыть настройщик и поправить ошибки.
Изменение стиля
За цвет элементов, их размер и расположение отвечает файл стилей. Его легко найти – в конце его названия стоит код «widget.css». Но, иногда корректирование стилей через редактор плагинов невозможен. Не всегда плагины имеют свои стили, некоторые из них просто подстраиваются под общий стиль шаблона. В подобных случаях изменить тот или иной параметр стиля возможно только через код шаблона.
Чтобы понять имеет ли плагин свои стили, нужно поискать в нем обозначения основных элементов. Так, например, расширение, отвечающее за отображение какой-либо формы, должно иметь значение цвета кнопки – «Button background color».
Как изменить стандартный редактор плагинов
Стандартный встроенный настройщик, как уже было сказано, не предназначен для внесения серьезных изменений кода. Но при необходимости производить глобальные корректировки можно использовать вместо него более мощный инструмент, включающий такие функции как выделение блоков, нумерация страниц, подсвечивание синтаксиса и т. д.
Важное отступление – прежде чем начинать масштабное вмешательство в коды, желательно создать копию сайта. Это позволит вернуть его к рабочему состоянию, если корректировки будут внесены с ошибками. Еще один важный момент – если на программном уровне появятся грубые ошибки, может заблокироваться доступ в консоль администратора вордпресс. Поэтому перед началом правки кода имеет смысл обеспечить доступ к сайту через FTP. Используя его можно будет открыть файлы и исправить допущенные ошибки вручную.
Чтобы получить новый функциональный редактор, нужен плагин WP Editor. Его необходимо установить и активировать. После этого он отобразится на консоли. Чтобы приступить к работе, следует открыть меню настроек WP Editor. Там предусмотрены отдельные вкладки для редактирования записей, тем и плагинов. На главной вкладке будут представлены оба редактора – стандартный и новый. При желании можно стандартный удалить, и пользоваться только установленным. Но есть вариант оставить оба инструмента.
Для внесения изменений в коды дополнений нужно открыть в WP Editor соответствующую вкладку с множеством пунктов настроек. Желательно сразу просмотреть все пункты и установить параметры соответственно своим целям. Изменения в настройках нужно сохранить.
Преимущества редактора плагинов
Некоторые пользователи вордпресс утверждают, что если невозможно найти полностью подходящий плагин, значит нужно просто делать вставки в код темы, а не заниматься переписыванием и редактированием имеющихся дополнений. Но не все с этим согласны. Изменения в функциональности сайта лучше привносить в качестве плагинов – так проще регулировать добавленную функцию. Если же изменения касаются исключительно дизайна сайта, их действительно следует добавлять непосредственно в тему. Но после смены темы на новую они не сохранятся, а плагины можно подключать к новым темам.
Плагин, являясь отдельной независимой темой, при наличии удобного редактора можно масштабировать, оставляя только те его функции, которые необходимы. После этого масштабирования расширение может получиться не больше, чем вставка кода.
Среди пользователей WordPress распространено мнение, что при большом количестве плагинов сайт становится тяжелее и медленнее, и поэтому лучше дополнять код темы. Но это не совсем так. Отдельные расширения на самом деле могут долго загружаться, но причина не в их наличии, а в использовании при их разработке излишних ресурсов. Качественно составленные расширения работают так же, как и куски кода в любом месте шаблона или темы.
Правила редактирования плагинов
Данный инструмент позволяет переделывать расширения, буквально создавая новые. Если дело зайдет настолько далеко, желательно выполнять действия с учетом основных правил, которые направлены на то, чтобы создаваемый продукт получился максимально функциональным и не требовал дальнейших корректировок.
Режим отладки
Режим отладки позволяет сразу заметить, что появилась ошибка. Кроме того, при включенном режиме система оповестит, если в код будет внесена устаревшая функция, и ее сразу можно будет заменить. Чтобы включить отладку необходимо в файле «wp-config.php» строку со значением «define(‘WP_DEBUG’, false);» убрать, а вместо нее вставить такие строки:
// Включение отладки
define(‘WP_DEBUG’, true);
// Указывать WordPress записывать ошибки в файл журнала отладки /wp-content/debug.log
define(‘WP_DEBUG_LOG’, true);
// Не выводить ошибки на экран, поскольку они записываются в лог (выше)
define(‘WP_DEBUG_DISPLAY’, false);
// Останавливает ошибки при отображении на экране, т.е. не показывает их
@ini_set(‘display_errors’, 0);
Перспективы расширения
Если планируется дальше расширять возможности изменяемого плагина, желательно заранее оставить место для будущих дополнений.
Структура папки
При добавлении и редактировании расширений следует помнить, что все файлы должны быть разбиты на соответствующие папки. Нельзя каждое новое дополнение размещать в корне сайта, так как это нарушит его правильную структуру.
Уникальные префиксы
Изменяя дополнения надо следить за тем, чтобы были сохранены уникальные префиксы – идентификаторы. Они есть у каждого файла и часто выглядят как инициалы названия плагина. Для примера – идентификатором платформы WordPress является префикс «wp».
Если у вас возникли вопросы по скаченному архиву или вы нашли неработающие ссылки, то напишите об этом в комментариях. Также, вы можете заказать установку, настройку или перевод этого плагина WordPress.
Плагины » Использование плагинов
После установки плагина нужно начать им пользоваться. В этом руководстве рассказывается, как работать с плагинами, установленными на сайте.
Содержание
Поиск настроек плагина
Как правило, при добавлении плагинов новые пункты меню появляются на панели администратора. В примере справа выделены пункты меню, появившиеся после добавления плагинов.
Однако плагины бывают разные. Некоторые расширяют существующие опции меню, такие как Настройки, Инструменты или Внешний вид. Настройки других отображаются, например, в редакторе.
Использование плагина
Установив на сайт хотя бы один плагин, перейдите в раздел Плагины → Установленные плагины. Там представлен список всех плагинов на сайте.
Найдите «Настройки», «Сведения», «Документы» или «Поддержка» (у каждого плагина свой набор ссылок). С помощью этих элементов меню можно узнать больше об использовании плагина:

Помощь с плагинами
Инженеры поддержки WordPress.com готовы оказать поддержку и дать общие рекомендации по поиску и устранению неисправностей. Они посмотрят общие настройки и дадут советы по устранению неполадок, связанных с использованием сторонних плагинов. За расширенной поддержкой следует обратиться к разработчику плагина. Подробности ― в статье Помощь с плагинами и темами.
Редактор файлов плагинов (дополнительная функция)
Редактор файлов плагинов позволяет редактировать код установленного плагина.

На панели администратора найдите Редактор файлов плагинов в разделе Плагины или Инструменты (в зависимости от темы).
Редактор файлов плагинов предназначен для владельцев сайтов с навыками программирования. Редактирование плагинов напрямую может привести к поломке сайта, и при его обновлении изменения могут быть потеряны. Если нельзя обойтись без редактирования плагина, не меняйте оригинальный файл. Вместо этого в менеджере файлов создайте копию плагина с новым именем. Это даст возможность повторно активировать работающую версию, если что-то пойдёт не так.
Управление некоторыми плагинами, например Jetpack и Akismet, происходит автоматически, поэтому их нельзя изменять в редакторе файлов плагинов.
На чтение 4 мин. Просмотров 84
Всем привет, сегодня будет интересная запись, про то как можно самому редактировать wordpress плагины. Например установили вы плагин какой-нибудь полезный, а некоторые его элементы отображаются на английском языке или вам цвет не нравится. Не обязательно сразу же удалять этот плагин, вы сможете сами изменить этот плагин, заменить английские слова на Русские или поменять цвет того или иного элемента. Я покажу вам как можно самому редактировать wordpress плагины. Я установил себе на черновой сайт плагин, который добавляет на сайт виджет формы входа на сайт login. Как раз на примере этого плагина я вам и буду объяснять как редактируются плагины.
Замена слов
После добавления виджета на сайт, в форме отображаются английские заголовки полей ввода и на кнопке то же английское слово. Я заменю эти слова на Русские. Для начало вам нужно скопировать все слова, которые вы хотите заменить.
Далее, перейдите на страницу Плагинов, под названием плагина, который вы хотите изменить, нажмите на вкладку — Изменить.
Далее, на странице редактирования плагина, справа, вам нужно найти нужный файл для редактирования и нажать на него. Конечно иногда приходится по порядку искать во всех подряд файлов, чтобы найти нужное слово для перевода, но со временем начинаешь быстрее находить, так как появляется опыт, начинаешь замечать некоторые нюансы. Так как редактировать я буду виджет, то я выбрал файл, у которого название файла заканчивается на widget.php и я оказался прав. После открытия файла, необходимо найти нужные нам слова для перевода. Можно искать вручную, если в файле не много текста, если текста много, то лучше воспользоваться поиском по странице.
Нажмите сочетание клавиш Ctrl+F у вас в углу экрана появится поиск по странице, введите в поле поиска слово, которое вы хотите найти и нажмите Enter. Если вы открыли нужный файл, то вам покажут слово, которое вы ищите, выделенное оранжевым цветом, вам лишь останется заменить слово на Русское. Но может отобразиться и несколько одних и тех же слов и вам нужно выбрать нужное слово для перевода. Все слова в плагинах, которые отображаются на сайте, в виджетах или в формах и т.д., в редактируемом файле будут отображаться в одиночных кавычках и скобках.
Пример нужного слова, которое мне нужно заменить на Русское, в одиночных кавычках и скобках.
Заменяю слово на своё, на Русское, обновляю файл, перехожу на сайт и смотрю результат, если заменил нужное слово, то результат отобразится на форме.

То же самое и с остальными словами, они находятся в том же файле, неподалёку, долго вам их искать не придётся, так же заменяете их и обновляете файл.
Редактирование стиля
Для изменения стиля, например, чтобы поменять цвет или размер, вам нужно открыть файл, название которого заканчивается на widget.css. Но, например в моём случае, виджет формы подстроился под стили шаблона, то есть своих стилей он не имеет, такое можно наблюдать в большинстве плагинов, виджетов, форм, на разных темах они будут выглядеть по разному. То есть внешность формы виджета, зависит от внешности вашей wordpress темы. И чтобы изменить стиль такого плагина, вам нужно редактировать не плагин, а сам шаблон сайта, его стили.
Вы можете проверить, если форма виджета имеет свои стили, то в css файле они будут отображаться и вы их сможете изменить. Например для изменения стиля кнопки, должно присутствовать значение — Button background color — цвет фона кнопки и т.д.
На этом у меня всё, жду ваших комментариев, до новых встреч !
What is the best way to modify a plugin? I frequently want to make small changes to one or two functions within a large plugin. This is easily done, but I have to use comments to mark my changes and modify the plugin again after an update. Ideally I’d like to leave the plugin alone and make my changes elsewhere, much like we do with themes and child themes. Can I make a plugin that requires the parent plugin and will override it?
asked Jul 14, 2011 at 12:31
1
IMHO, the best approach is either to fork the Plugin to maintain your changes, or else submit patches to the Plugin developer, to have your changes made a part of the original Plugin.
Creating a «Child Plugin» really isn’t easy. The «Child Theme» concept really applies to the template files that get used, moreso than the Theme functions (and in fact, the functions.php file from both Parent and Child get loaded, which does cause problems for improperly coded functions.php files in either the Child or Parent Theme).
answered Jul 14, 2011 at 12:40
Chip BennettChip Bennett
54.5k8 gold badges86 silver badges165 bronze badges
2
The «right» way obviously depends on the plugin. Some plugins are easier to edit than others, but most plugins can actually be modified by other plugins.
For example, if a plugin has a function hooked into WordPress with an action, then it’s a simple matter for you to make another plugin that unhooks that function with remove_action, and then adds your replacement function in instead. This sort of method will let you replace individual functions in plugins with your own modified versions, without modifying the original plugin.
Same concept works with filters, obviously.
answered Jul 19, 2011 at 7:33
OttoOtto
32.3k1 gold badge60 silver badges107 bronze badges
1
The best way would be to just clone it and change the Plugin Name in the header and change the directory name. This way you could also have the original installed but not activated so you will still get alerts when updates are released.
<?php
/*
Plugin Name: Name Of The Plugin
Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates
Description: A brief description of the Plugin.
Version: The Plugin's Version Number, e.g.: 1.0
Author: Name Of The Plugin Author
Author URI: http://URI_Of_The_Plugin_Author
License: A "Slug" license name e.g. GPL2
*/
?>
answered Jul 14, 2011 at 12:36
Chris_OChris_O
20.5k5 gold badges59 silver badges94 bronze badges
2
This is relatively easy if the plugin is under Git source control due to Git’s distributed nature, but many WordPress plugins (and all of those in the official repository) are in Subversion. I use vendor branches and svn_load_dirs.php if I really need to modify a plugin, but this requires a reasonably high comfort level with Subversion.
If the plugin exposes no repository, I’d recommend turning it into a Git repository yourself and manually applying new versions.
In the end, version control systems are the only sane way to reapply changes to new upstream versions.
answered Jul 17, 2011 at 12:23
Annika BackstromAnnika Backstrom
4,7482 gold badges22 silver badges29 bronze badges
0
I agree with Annika Backstrom’s answer, but I’d like to share my preferred solution.
Since most plugins are under svn, I use a tool called git-svn to make a git mirror.
Then, I just make a branch and commit my changes there.
When the plugin is updated upstream, I just pull from the svn repo and merge into my custom branch.
answered Jul 19, 2011 at 15:43
scribuscribu
13k36 silver badges49 bronze badges
0
Since it hasn’t been mentioned, you can replace any function that was made pluggable. Pluggable functions look like
if (! function_exists('function_name')) {
function function_name() {
//...
}
}
Then you can simply redefine the function yourself (in functions.php, Code Snippets, or your own plugin).
Unfortunately, most plugins don’t make their functions pluggable; or at the best, only some of their functions are pluggable.
answered Apr 28, 2022 at 15:19
What is the best way to modify a plugin? I frequently want to make small changes to one or two functions within a large plugin. This is easily done, but I have to use comments to mark my changes and modify the plugin again after an update. Ideally I’d like to leave the plugin alone and make my changes elsewhere, much like we do with themes and child themes. Can I make a plugin that requires the parent plugin and will override it?
asked Jul 14, 2011 at 12:31
1
IMHO, the best approach is either to fork the Plugin to maintain your changes, or else submit patches to the Plugin developer, to have your changes made a part of the original Plugin.
Creating a «Child Plugin» really isn’t easy. The «Child Theme» concept really applies to the template files that get used, moreso than the Theme functions (and in fact, the functions.php file from both Parent and Child get loaded, which does cause problems for improperly coded functions.php files in either the Child or Parent Theme).
answered Jul 14, 2011 at 12:40
Chip BennettChip Bennett
54.5k8 gold badges86 silver badges165 bronze badges
2
The «right» way obviously depends on the plugin. Some plugins are easier to edit than others, but most plugins can actually be modified by other plugins.
For example, if a plugin has a function hooked into WordPress with an action, then it’s a simple matter for you to make another plugin that unhooks that function with remove_action, and then adds your replacement function in instead. This sort of method will let you replace individual functions in plugins with your own modified versions, without modifying the original plugin.
Same concept works with filters, obviously.
answered Jul 19, 2011 at 7:33
OttoOtto
32.3k1 gold badge60 silver badges107 bronze badges
1
The best way would be to just clone it and change the Plugin Name in the header and change the directory name. This way you could also have the original installed but not activated so you will still get alerts when updates are released.
<?php
/*
Plugin Name: Name Of The Plugin
Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates
Description: A brief description of the Plugin.
Version: The Plugin's Version Number, e.g.: 1.0
Author: Name Of The Plugin Author
Author URI: http://URI_Of_The_Plugin_Author
License: A "Slug" license name e.g. GPL2
*/
?>
answered Jul 14, 2011 at 12:36
Chris_OChris_O
20.5k5 gold badges59 silver badges94 bronze badges
2
This is relatively easy if the plugin is under Git source control due to Git’s distributed nature, but many WordPress plugins (and all of those in the official repository) are in Subversion. I use vendor branches and svn_load_dirs.php if I really need to modify a plugin, but this requires a reasonably high comfort level with Subversion.
If the plugin exposes no repository, I’d recommend turning it into a Git repository yourself and manually applying new versions.
In the end, version control systems are the only sane way to reapply changes to new upstream versions.
answered Jul 17, 2011 at 12:23
Annika BackstromAnnika Backstrom
4,7482 gold badges22 silver badges29 bronze badges
0
I agree with Annika Backstrom’s answer, but I’d like to share my preferred solution.
Since most plugins are under svn, I use a tool called git-svn to make a git mirror.
Then, I just make a branch and commit my changes there.
When the plugin is updated upstream, I just pull from the svn repo and merge into my custom branch.
answered Jul 19, 2011 at 15:43
scribuscribu
13k36 silver badges49 bronze badges
0
Since it hasn’t been mentioned, you can replace any function that was made pluggable. Pluggable functions look like
if (! function_exists('function_name')) {
function function_name() {
//...
}
}
Then you can simply redefine the function yourself (in functions.php, Code Snippets, or your own plugin).
Unfortunately, most plugins don’t make their functions pluggable; or at the best, only some of their functions are pluggable.
answered Apr 28, 2022 at 15:19
Как редактировать плагин WordPress, чтоб при его обновлении изменения не потерялись
— этот вопрос часто задают новички в WordPress.
Невозможно плагин покрыть всевозможными настройками и обвесить фильтрами на каждый чих. Но решение есть — всё зависит от ситуации, что именно необходимо поменять.
Ниже советы подходят и для WordPress темы (но не будет рассмотрен процесс создания дочерней темы — об этом читайте на сайте WP-Kama) и для дополнений к WP-Recall. Т.е. расширять вы можете весь вордпресс.
Запомни:
Важно усвоить простое правило — ядро (файлы) плагина править напрямую нельзя.
Но у себя воздействовать — можно.
Disclaimer:
И т.к. это кастомизация — вы, например, столкнётесь с какой либо проблемой — то вы должны отключать все кастомизации и смотреть на дефолтном состоянии. Обратившись к автору плагина за решением проблемы — он в первую очередь попросит вас отключить кастомизации. Вопрос не сдвинется с места, пока вы не вернёте так, как было. Автор плагина не будет поддерживать чужие кастомизации.
Содержание:
- Стили (он же «внешний вид» или css)
- Правки перевода
- PHP файлы
- Шаблоны или templates
- Экшены
- js-файлы
Определимся — что вы подразумеваете под «редактированием»:
1. Стили (он же «внешний вид» или css)
1.1 — Если css файлы вы хотите редактировать — их редактировать напрямую нельзя. Только переопределять. т.е. если есть класс .some в плагине — то вы у себя в подвале подключайте свой css файл, а стиль для .some переносите и пишете там.
Отличный видеоурок я опубликовал в 4-х серийном видео. Посмотрите 1-й урок, а остальные вы найдёте под записью в серии записей.
1.2 — Если правок в этом css файле вы наметили много — есть смысл дерегистрировать родной файл стилей и подключить свой с нужными стилями.
Дерегистрируется стиль через wp_dequeue_style() — описание найдёте здесь
А у плагина WP-Recall аналогичное поведение делает функция rcl_dequeue_style(). Почитать можете на форуме мой ответ по данной функции.
Disclaimer:
Запоминайте что делали — т.к. отключая стили у целого модуля вы должны понимать что вам эти изменения и актуализировать внешний вид придется самостоятельно. Например в большом обновлении автор плагина может обновить стили модуля — а у вас их нет. Эти риски вы должны понимать.
Это замечание действительно ко всем вариантам с дерегистрацией чего либо.
1.3 — Но стили бывают встроенные в html страницу — inline. Там вам потребуется перевесить через !important.
А если вы хотите все или почти все инлайн стили переопределить — то достаточно найти функцию, что их подключает и дерегистрировать её. На основе этой функции написать свою и заинлайнить (если так нужно) или же прямиком в свой css файл внести корректировки.
Я на CodeSeller описывал в статье: Как найти нужный фрагмент кода в плагине или шаблоне — советую ознакомиться.
Ну и про правки CSS и вставку сниппетов было подробное руководство: Куда мне вставить этот код? (и стили)
2. Правки перевода
Если вы говорите о правке перевода (например вам нужно переименовать слово «Группа» на «Сообщество»), а у автора плагина строки переведены через __() и похожие функции локализации — то воспользуйтесь плагинами интернационализации (переводов), или ВП фильтром gettext — на WP-Kama отличное руководство.
На CodeSeller я публиковал видеоурок: Переводим/переименовываем нужные строки WP-Recall и WordPress и дополнений — используя плагин SayWhat.
Что делать если локализация в плагине не заложена?
— попросить автора плагина добавить туда локализацию. Как правило идут навстречу и добавляют — т.к. это напрямую влияет на удобство и популярность плагина.
А почему её сразу не было? Экономия времени — когда нужно быстро стартануть. Этакое правило 20/80. Ведь перевод могут попросить добавить и через год — так что нет ничего страшного — общайтесь с разработчиком 🙂
3. PHP файлы
Если ваше изменение затрагивает php файлы, то поинтересуйтесь у автора — есть ли в том месте, где вы хотите поменять, фильтр.
apply_filters в коде плагина, а вы воздействуете на него через add_filter (Есть еще экшены (действия) — но они не позволяют изменять. Это триггеры, когда событие произошло).
Если фильтра в этом месте нет — попросите автора добавить его. Обычно автор заинтересован в том, что его плагином пользуются и внедряет нужное.
Но если вам фильтр нужен только для смены текста — то вам вариант номер два, выше. У плагина может быть 500 строк и на каждую строку текста лепить фильтр — маразм. Так никто не делает.
4. Шаблоны или templates
Автор плагина может ввести и поддерживать функционал шаблонов.
Темплейты — например карточка товара, профиль пользователя, одиночная запись и т.д.
Такой функционал имеют многие плагины: WP-Recall, bbPress, woocommerce. Суть их такова — что вы переносите файл шаблона (например cart.php) в свою тему или внутри папки wp-uploads (каждый плаг по своему реализует) и плагин вначале проверяет наличие такого файла вне своей папки, а потом, если не нашел там, подключает из своей папки. Так вы можете всю нужную верстку и внешний вид под себя переделать.
5. Экшены
Много функций внутри плагина висит на хуках (add_action) — например так:
add_action('some_action', 'some_function', 20);
где 20 — приоритет выполнения. Так вы можете всю функцию дерегистрировать через remove_action
Например так:
remove_action('some_action', 'some_function', 20);
— приоритет 20 обязательно такой как и при регистрации.
и потом всю функцию из плагина копируйте к себе (переименуйте только на уникальное имя или добавьте префикс) и вешайте на этот же хук и приоритет. Внутри функции уже делайте как вам надо — изменяйте.
Но этот способ самый зависимый — т.к. вам нужно следить — вдруг в обновлении автор в этой функции внес изменения или устранил уязвимость. Следите через svn или гит.
6. js-файлы
Возможно вам что-то нужно поменять в js функции. Тогда стоит уточнить у автора плагина как это сделать наименее безболезненно.
Например в WP-Recall есть функционал js-хуков и фильтров и некоторые участки кода передают в js-фильтр свои данные которые можно изменить из другого js-файла.
Посмотрите эти 2 руководства:
Введение в javascript-хуки и фильтры WP-Recall
js экшены и фильтры WP-Recall. Практическое применение
Так что варианты есть. А если их еще в плагине нет — попросите автора плагина добавить такую возможность. Если автор плагина не пойдет на встречу — не юзайте такой плагин. Там нет будущего. Большинство программистов понимает что ситуаций много и помогают и внедряют и подсказывают если есть еще способы влияния на нужный участок.
⚙ Удачной вам кастомизации!


















