Intereting Posts
Пользовательская роль, доступ к таблице параметров wp Пользовательский мета-поле, отображаемое при выборе шаблона Ошибка соединения – ошибка cURL 7 при изменении пароля пользователя Chrome не предлагает его сохранить Содержимое более 10 000 символов не будет отображаться с помощью параметра__события () Комментарии к будущим сообщениям Отключить плагин на определенной странице администратора 404 при использовании разбивки на страницы в категории изменение имени домена сайта. Это плохое решение? Как отображать сообщения, упорядоченные по дате пользовательского поля? Удаленное хранилище файлов WordPress Проверка короткого кода «gallery» с использованием strpos всегда возвращает false Форматирование даты / времени, возвращаемого из пользовательского запроса $ wpdb Не удается добавить страницу с именем 2011 Правило перезаписи WordPress

Редактировать плагин-фильтр

Я пытаюсь отредактировать фильтр, который добавлен из плагина, без редактирования самого модуля. Этот плагин представляет собой регистрацию пользователей Gravity Forms.

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

Фильтр добавляется следующим образом:

/** * Initializes GFAddon and adds the actions that we need * * @see GFAddon */ public function init() { [...] add_filter( 'gform_validation', array( $this, 'validate' ) ); [...] 

Должен ли я создать новый экземпляр чего-либо для «$ this» и как я могу с помощью этого метода вызвать функцию удаления?

Просто подсказка …

В вашем случае я попытаюсь удалить фильтр

 remove_filter( 'gform_validation', array( 'classname', 'validate' ) ); 

Переименуйте имя класса с именем класса, в котором находится фильтр.

И добавьте свой фильтр и функции

 add_filter( 'gform_validation', 'your_validate' ) ); 

Если вы хотите получить доступ к другому классу (и публичной функции): classname::validate();

Надеюсь, поможет