Intereting Posts
Могу ли я проверить, какие пользователи запускали какие обновления? Как настроить процесс входа в систему Должен ли я использовать функции function_exists () и / или add_action () в разработке темы? Настроить название, описание и сфокусированное ключевое слово Ошибка 404 при создании динамических таблиц стилей ERR_SSL_PROTOCOL_ERROR с помощью InstantWP для установки моего liveite на localhost Переименование вложений при загрузке Запланированные сообщения и wp-cron – Почему опубликованные публикации не публикуются, если они слишком стары? Как отобразить только формат видеопотока? Добавление элементов в wp_list_pages (внутри <li>, но до <a>) Установите значение по умолчанию «Link CSS Class» в редакторе дополнительных медиа-админов Перехват wp_footer дважды добавьте класс img в родные галереи wordpress Несколько авторов и читателей ограничены ролью Добавление шаблона в панель атрибутов страницы для сообщений и страниц?

Обработка запроса формы из файла плагина

В плагине у меня есть форма оплаты, которая должна быть отправлена ​​(через атрибут action =) в .php-файл, который также находится в моем плагине напрямую. После некоторых исследований кажется, что «способ WordPress» для вызова отдельных файлов плагинов фактически использует пользовательские запросы в index.php. Я сделал это с приведенным ниже кодом, и он работает, однако этот код просто нуждается в обработке формы, а затем перенаправляет пользователя на страницу подтверждения, мне не нужно ничего показывать. Сейчас кажется, что на самом деле загружается шаблон index.php, который кажется пустой тратой.

Правильно ли я это делаю? Если нет, как мне это сделать?

//Register our custom request hook function tps_space_rental_query_vars($vars) { $vars[] = 'tps-rent-space'; return $vars; } add_filter('query_vars', 'tps_space_rental_query_vars'); //This will allow us to process our payment form the wordpress way function tps_payment_parse_request($wp) { if (array_key_exists('tps-rent-space', $wp->query_vars) && $wp->query_vars['tps-rent-space'] == 'chargeform') { // process the request, just testing for now echo 'This request happened!'; } } add_action('parse_request', 'tps_payment_parse_request'); 

Solutions Collecting From Web of "Обработка запроса формы из файла плагина"

Самый простой способ – использовать init action hook

 add_action("init", "your_form_handler_action"); function your_form_handler_action(){ if( isset( $_REQUEST["action"] ) && $_REQUEST["action"] == "your_action_name" ) { echo "Response!!!"; } } 

WordPress имеет общую точку запроса POST / GET, используя admin_post_ (действие), чтобы связать ваш код с действием, аналогичным тому, как WordPress обрабатывает запросы AJAX. Используйте admin_url( 'admin-post.php' ) для вывода URL-адреса.