Intereting Posts
Сообщения WP_query, наиболее близкие к сегодняшним датам Как получить список ссылок на категории WordPress? Случайные вхождения 502 Bad Gateway с использованием WordPress и Nginx WordPress построен в меню панировочных сухарей? Могу ли я получать комментарии только для определенных пользователей? WP_Query терпит неудачу, несмотря на то, что у него 1 сообщение Зависимые сайты, зависящие от page.php, не работают в пользовательской теме woocommerce Изменение ссылки «просмотр» для пользовательского типа сообщения на экране списка сообщений? Указание значка мыши для пользовательской почты Разметка пользовательских типов сообщений, не изменяющих сообщения Удастся ли пропустить WordPress через приложение MVC? Получать событие «menu-toogle» из меню раздела в настройке Как заказать результаты по дате и мета-ключу? Добавить видео с youtube в сообщении Замена глобальной wp_query

Как создать идентификатор вложения с помощью 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, сохранения введенных данных и выбранного файла для каждого из них. Кнопка удаления для каждого из них также может использовать идентификатор, чтобы удалить пустые вложения, если вы не используете их.

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