Intereting Posts
Добавить Shortcode в Div или Header Могу ли я получить доступ к API WordPress из сценариев плагина? Прямой динамический URL-адрес в корневой папке в папку внутри шаблона Как назвать категории Shortcode для пользовательских типов сообщений? Выделение атрибута Shortcode Как получить часть URL-адреса и ввести короткий код? Отключить уведомление об обновлении для отдельных плагинов Можем ли мы подключить Customizer к сообщению или странице на передней панели сайта? Помогите сконденсировать / оптимизировать некоторый рабочий код wp_redirect "уже отправлены" после формы отправки переднего плана Ошибка постоянных ссылок 404 Какое имя шаблона используется для таксономии, но не для их условий? Принуждение всех сообщений, связанных с типом персонализированного сообщения, Можно ли отображать изображение автора в сообщении вставить в mailchimp? Добавить пост переписывать постоянную ссылку с предыдущего поста в 4.6

Как создать идентификатор вложения с помощью Ajax submit? Нет обновления страницы

Я знаю, что я сделал это раньше, при этом в любом случае, используя форму обратной связи, которая использовала Ajax для отправки данных формы в php-скрипт, который использовал wp_insert_post (), затем перенаправлялся на этот пост после отображения сообщения об успешном завершении, но я не могу понять, как сделать это с помощью вложений.

То, что я пытаюсь сделать, немного сложно объяснить. Дай мне попробовать. У меня есть метабокс, что вы можете добавлять / удалять вложения с помощью jquery, чтобы добавить другой набор входов или удалить их, а inturn удалить этот файл с вашего сайта. Это работает. Что бы я хотел сделать, когда вы добавляете новый набор входов, заполните информацию, выберите файл изображения для загрузки, затем нажмите «Сохранить» для этого набора входов (каждый набор имеет собственную кнопку сохранения), кнопка сохранения имеет сценарий Ajax, который отправляет данные post.php или что-то еще, когда вы нажимаете кнопку «Опубликовать».

Если я заполню пару полей вложений и нажмите «Опубликовать», мое действие для «save_post» используется для сохранения этих данных. Я хочу создать функцию, которая использует admin-ajax.php и пользовательский крючок. В настоящее время у меня есть функция удаления, которая использует admin-ajax.php для удаления файла вложения из сообщения и медиа-библиотеки.

Как создать функцию, которая добавляет файл. Я так запутался.

Вот мое решение для создания идентификатора вложения с временным заголовком и post_parent, к которому он привязан.

Мой jQuery код psuedo, без лишних вещей:

jQuery('.addImage').live('click', function() { jQuery.ajax({ type: 'post', url: ajaxurl, data: { action: 'save_attachment', _ajax_nonce: jQuery('#nonce_add').val(), post_parent: jQuery('#post_ID').val(), attach_title: 'Attachment ' + size }, success: function( res ) { var attID = res.replace(/0$/i, ''); alert('Success: ' + attID); } }); size++; return false; }); 

Моя функция admin-ajax.php и пользовательский крючок:

 function save_attachment() { if ( $_POST['action'] == 'save_attachment' ) { $post_title = $_POST['attach_title']; $post_parent = $_POST['post_parent']; $attach = array( 'post_title' => $post_title, 'post_parent' => $post_parent, 'post_type' => 'attachment', 'guid' => '', 'post_mime_type'=> 'image' ); $attachID = wp_insert_attachment( $attach, false ); if( $attachID ) { print_r( $attachID ); } } } add_action( 'wp_ajax_save_attachment', 'save_attachment' ); 

Посмотрите, что у меня есть, есть ссылка с классом .addImage, вы нажимаете это, и он запускает функцию ajax / php save_attachment () возвращает идентификатор, который я использую в куске кода, который я добавляю к моему метаболизму (группа входы для нового файла), а возвращаемый идентификатор вложения используется как значение в скрытом поле ввода внутри этого фрагмента кода. В этом куске есть кнопка сохранения.

Теперь, учитывая этот идентификатор, я могу использовать мою уже завершенную и работоспособную функцию для сохранения (или обновления) вложений с помощью admin-ajax.php, сохранения введенных данных и выбранного файла для каждого из них. Кнопка удаления для каждого из них также может использовать идентификатор, чтобы удалить пустые вложения, если вы не используете их.

Вскоре это будет больной плагин для задницы, как только я получу эту работу в качестве настраиваемого метабокса.