WordPress как на ладони

Как передать Post данные на другую страницу через код?

Есть такая форма:

<form action="<?php echo esc_url( admin_url('admin-post.php') ); ?>" method="post" class="form form-cart">
 . . .
</form>

По нажатию на submit, post данные отправляются через js так:

let response = await fetch('/wp-admin/admin-post.php', {
	method: 'POST',
	body: formData
});
if (response.ok) {
	window.location.href = '/ru/order-success/';

Далее сам заказ обрабатывается в functions.php и в процессе создаёт xml файл

function custom_action_name(){
	include ('form/order.php');
}

Мне нужно теперь чтобы эти post данные передались на страницу /ru/order-success/
Как это можно сделать из php (с файла form/order.php)?

Заметки к вопросу:
konstantin-belyj 2.8 лет назад

1 вариант: дописать метаполя или юзеру, или заказу
2 вариант: использовать PHP сессию и писать в неё

0
rudnk
2.9 лет назад
  • 0
    Kama9619

    После успешного добавления данных. Через JS поменяй action формы:

    <form action="<?php echo esc_url( admin_url('admin-post.php') ); ?>"

    На URL страницы куда нужно отправить обрабатываемые данные и засабмить форму через JS:

    jQuery('.form-cart:first').submit();

    Также.

    Если на /ru/order-success/ нужно отправлять какие-то другие данные или измененные, то можно создать под формой скрытую форму с нужными данными и при успехе сабмитить её. При этом хорошо бы в эту скрытую форму передавать какой-то ключ и проверять его на приеме - это будет гарантировать что сабмит формы был произведен именно товоим JS.

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация