Пользовательский метабокс с Ajax в Редактировании После залипания
Я пытаюсь создать пользовательское мета-поле с несколькими текстовыми полями. Идея заключается в том, что изначально существует одно текстовое поле, затем вы можете нажать кнопку "Добавить новое", и будет добавлено другое текстовое поле (с использованием Ajax; нет необходимости публиковать или обновлять сообщение для создания текстового поля). Я использую следующий код (ниже), но он просто не работает. Я совершенно застрял; мне действительно нужна помощь. Я даже готов пожертвовать немного денег, если кто-нибудь поможет мне разобраться в этом из.
2 answers
Если вашей конечной целью является динамическое добавление текстовых полей, но все равно требуется, чтобы пользователь сохранял/обновлял публикацию, вам вообще не нужно использовать AJAX.
Просто назовите текстовые поля соответствующим образом, чтобы был опубликован массив значений, а затем обработайте его в своем действии сохранения.
Может быть полезно сохранить этот массив в одном мета-ключе post, чтобы вы могли просто просмотреть его, чтобы вывести мета-поле.
Укажите идентификатор заключающего
Набор ваши начальные текстовые поля следующим образом:
<input type="text" style="position: relative; right: 0; width: 85%;" name="slideshow[]" value="<?php echo $value; ?>" />
И измените свой onclick "добавить кнопку" на:
function() {
jQuery('#slideshow_metabox').append('<input type="text" style="position: relative; right: 0; width: 85%;" name="slideshow[]" value="" />');
}
Надеюсь, это поможет.
Вот сценарий, который я написал, который я использовал в 5-6 пользовательских различных типах мета-полей. Мне нравится иметь опцию добавления/удаления полей, что значительно ускоряет работу, так как WP может быть очень медленным при сохранении/публикации сообщений, даже если он может просто публиковать admin-ajax.php файл в фоновом режиме и будет намного быстрее.
Http://new2wp.com/snippet/jquery-add-remove-extra-input-form-fields/