Intereting Posts
Как вы можете загрузить изображение на странице настроек? Как показать различные ссылки на изображения для разных языков с помощью qTranslate? Перенести самодельные настраиваемые поля functions.php в расширенные пользовательские поля Уведомление по электронной почте Где значения полей ввода раздела хранятся в базе данных Адрес электронной почты или имя пользователя, используемые для входа в wordpress Не удается получить доступ к пустой ошибке свойства в Advanced Access Manager Можно ли использовать admin-ajax.php в интерфейсе? Сортировка пользовательских типов сообщений по фамилии в бэкэнд Как WordPress управляет вложенным выпадающим списком? Пусть плагин проверяет, зарегистрирована ли таксономия другим плагином Как переписать цвета радужной оболочки радуги из темы в плагин Перевод плагина wordpress Поддомен WordPress MU vhost Использование пользовательских таксономий в запросе

Создайте новый пост WordPress на основе результатов WP_Query

У меня есть страница, на которой пользователи могут отфильтровать список настраиваемых сообщений post-type на основе фильтра «Ultimate WP Query Search Filter». Результаты передаются в div на странице с использованием AJAX, после чего пользователи могут вводить количество в каждый из результатов.

Мне нужно, чтобы после того, как пользователь ввел количество в поле количества всю информацию из этого сообщения, плюс количество, которое необходимо использовать для создания нового сообщения в другом настраиваемом типе сообщений. [В настоящее время это делается по результатам, но если возможно, что в конце будет добавлена ​​кнопка «добавить», которая будет проходить через каждый результат и создаст сообщение для каждого, которое будет первым призом, – но мы в порядке с «Добавить "за каждый результат"

Для создания новых сообщений я использую следующий код:

<?php $order_productcode = get_field('product_code', $query->ID); $order_productdesc = get_field('product_description', $query->ID); $order_productcost = get_field('selling_price', $query->ID); ?> <?php if(isset($_POST['new_post']) == '1') { $post_title = $_POST['post_title']; $new_post = array( 'post_type' => 'order-items', 'ID' => '', 'post_author' => $user->ID, 'post_title' => $post_title, 'post_status' => 'publish' ); $post_id = wp_insert_post($new_post); add_post_meta($post_id, 'linked_order_id', 379, true); add_post_meta($post_id, 'product_code', $order_productcode, true); add_post_meta($post_id, 'product_description', $order_productdesc, true); add_post_meta($post_id, 'quantity', '1', true); add_post_meta($post_id, 'unit_price', $order_productcost, true); $post = get_post($post_id); wp_redirect($post->guid);} ?> 

И затем следующий код для запуска формы:

 <form method="post" action=""> <input type="text" class="orderresult_qty" name="post_title" size="45" id="input-title"/> <input type="hidden" name="new_post" value="1"/> <input class="subput round" type="submit" name="submit" value="Add"/> 

На примере с одной страницей или жестко запрограммированной страницей это работает отлично, но когда код помещается внутри цикла WordPress, ничего не происходит, когда элемент отправляется. Ошибка не отображается, и элемент не создается.

У меня возникают проблемы с вставкой полного кода, так что вот ссылка на GIST, где вы можете увидеть полный код внутри цикла (сгенерированный внутри файла function.php)

https://gist.github.com/stankobrin/bb0b7d38dbbe1fd3b83e

Это очень актуально, поэтому любая помощь в получении этой работы будет оценена по достоинству!

Solutions Collecting From Web of "Создайте новый пост WordPress на основе результатов WP_Query"

Благодаря @Chinmoy Kumar Paul за его удивительную помощь прошлой ночью и за то, что я на правильном пути.

Проблема заключалась в том, что, поскольку код выполнялся внутри результатов DIV AJAX, WordPress не смог правильно найти идентификатор. Необходимо было также отправить данные с помощью AJAX, и это работает отлично.

Для всех, кто хочет внедрить проводку AJAX, я нашел этот пост бесценным: http://code.tutsplus.com/tutorials/adding-posts-to-a-sites-front-end-using-ajax–wp -25652

Последний оставшийся элемент состоял в том, чтобы передать переменные из wp_query в форму и затем добавить записи.

Я сделал это, создав скрытое поле формы и эхо-данные в поле значений:

 <input type="hidden" class="orderresult_qty" id="apfdesc" name="apfdesc" value="<?php echo the_title() ;?>"/> 

Затем я передал значение поля переменной:

 $orderdesc = $_POST['apfdesc']; 

А затем, наконец, обновить данные add_post_meta с помощью переменной:

 add_post_meta($post_id, 'product_description', $orderdesc, true); 

Решение работает на 100%!