Intereting Posts
Удаление «категории» из URL-адресов, тогда «add_endpoint ()» не будет работать … Как изменить совпадения в add_rewrite_rule Post injection – как исключить исходный пост Проблема с контекстной помощью, переписывающей существующий контент Пользовательские таблицы стилей TinyMCE для разных типов сообщений Как вы управляете своими темами при приватном распространении? WP_load, shortinit для wordpress Ajax Как вручную активировать пользователя на панели управления только администратором Как регистрировать таксономии детей? Почему приложение hp_head не будет принимать параметры? Как создать несколько циклов на странице архива? Что происходит с текстом в файле functions.php вне приложения php? Визуальный редактор popover или placeholder добавить разбивку на страницы в пользовательские категории Каковы некоторые рекомендации по очистке предупреждений о содержании HTTP-контента?

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

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