Intereting Posts
Файл загрузки WordPress – получить доступ к установке WordPress передача переменной javascript в php wordpress Изменить тему на страницу или сообщение wordpress как сайт обсуждения законопроектов Получите данные из параметров темы и используйте их в поле метаопределений в настраиваемом типе сообщений Получать персонализированный почтовый тип по категориям в шаблоне страницы Изменение URL-адресов для статического контента Связывание изображения для открытия видео youtube в лайтбокс / fancybox в wordpress Постоянная ссылка по имени сообщения не работает WordPress открывает js-файлы в качестве каталога. Путь прав Список пользователей бэкэнда – добавьте метатет Woocommerce к таблице Разрешить пользователям моего плагина определять собственный код, а не использовать мой? 2 блога WordPress с 1 столом пользователей и 1 логин Как получить последний отрывок из определенной категории? Как включить третий уровень с функцией wp_get_nav_menu_items

Очистить настраиваемое поле при добавлении нового тега

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

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

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

Предлагает ли WordPress какую-либо систему обратного вызова или крючка на стороне Javascript / jQuery, которую я мог бы использовать для выполнения функции при добавлении нового тега?

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

Благодарю.

Не могли бы вы сделать что-то подобное?

function tag-added-script() { ?> <script> jQuery(function($) { $('.tagadd').click(function() { // Run Your Jquery Here alert('test'); }); }); </script> <?php } add_action( 'admin_head', 'tag-added-script' ); 

Вышеуказанное будет реагировать всякий раз, когда нажимается кнопка «tagadd». Теоретически вы могли бы захватить пользовательский идентификатор поля и очистить его с помощью jquery.

После некоторых экспериментов я нашел лучший хак:

  $('#addtag #submit').click(function () { // Look for a div WordPress produces for an invalid form element if (!$('#addtag .form-invalid').length) { // hide elements and reset hidden field } }); 

Привязка к событию клика на кнопке отправки фиксирует как отправку кликов, так и отправки, в которые пользователь попадает, введите текстовое поле. Последние не были захвачены при привязке к событию submit на элементе формы.

Проверка на .form-invalid element не является идеальным решением, так как WordPress может легко изменить имя класса в будущем. Но я нашел его наиболее полным в том, чтобы поймать пустое поле имени или дублирующее имя – ни один из которых WordPress не позволит идти вперед.