Это варьируется от плагина к плагину, и иногда это даже невозможно, в других случаях плагины имеют документацию для их легкого расширения (например, WooCommerce и Gravity Forms).Некоторые из них создают Action Hooks с do_action()
, которые позволяют легко расширять функциональность.Типичным примером является обновление сообщения после отправки формы Gravity с их gform_after_submission
ловушкой.
Эффективно, это зависит от того, что вы хотите сделать, и от того, как плагин реализует функциональностьВы хотите изменить.Если они добавляют текст с помощью Closure или Anonymous Function , то будет сложнее изменить указанный текст, и вам, возможно, придется посмотреть на что-то странное, например, выполнить поиск и заменить во время выполнения.используя выходную буферизацию , обычно на хуке template_redirect
.
Если вы хотите удалить что-то, что делает плагин, вы можете отсоединить его с помощью remove_action
.Это может быть немного сложно в зависимости от того, как создается плагин, иногда это просто:
remove_action( 'some_hook', 'function_to_remove' );
В других случаях это сложнее, например:
global $plugin_class_var;
remove_action( 'some_hook', array($plugin_class_var, 'function_to_remove') );
Это основырасширение (или даже «сжатие») функциональности плагина, и это не всегда , выполнимо соответствующим образом.К сожалению, узкий ответ на ваш вопрос выходит за рамки того, что мы можем предоставить от StackOverflow.
Отсюда вам необходимо выяснить точно , что вы хотите сделать сплагина, и покопайтесь в файлах плагина, чтобы увидеть, есть ли подходящий хук или функция, которую вы можете использовать.Если вы все еще застряли, вам нужно будет опубликовать новый вопрос (не обновляйте этот) с вашим точным желаемым результатом и всем, что вы пробовали, и соответствующим кодом, который идет вместе сЭто.«Я хочу изменить плагин без редактирования файлов ядра» - недостаточно конкретен.«Я хочу заменить значок на пользовательский значок в этом плагине, вот что я пробовал» достаточно конкретно, чтобы ответить.
Удачи!