Ищете простой подход для обработки пользовательских $ _POST данных без AJAX?

Я ищу простой способ для плагина WordPress обрабатывать данные $_POST из пользовательской формы. Будет завершена обработка заднего конца, после чего я перенаправляюсь на новую страницу по мере необходимости – поэтому во время обработки нет пользовательского интерфейса.

В принципе, я хочу представить форму, например …

  <form method="post" action="/back-end-processing.php"> <input type="text" name="text" /> <input type="submit" value="submit" /> </form>'; 

… и обрабатывать его, как я бы с PHP, но все же иметь возможность использовать защиту «nonce» WP.

Некоторые примеры, которые я видел, предполагают, что я должен использовать admin-post.php но я был обеспокоен тем, что он должен использоваться только для фактических администраторов, а не для обычных пользователей .

Другой подход предложил …

 function checkCheckBox() { if($_POST['checkbox'] == 1) { return true; } return false; } add_action('init', 'checkCheckBox'); 

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

Solutions Collecting From Web of "Ищете простой подход для обработки пользовательских $ _POST данных без AJAX?"

Лучший способ обработки пользовательской формы – это следующее. Если вы используете nonce, вам действительно не нужно проверять $ _POST ['checkbox'], код ниже можно использовать просто для проверки_nonce, а затем обработать форму.

 function process_my_form() { if ( wp_verify_nonce( $_POST['my_nonce_field'], 'my_nonce' ) ) { // process your form here // you can also redirect and call exit here. } } add_action( 'init', 'process_my_form' ); 

Но если вы все же хотите отправить свою форму на собственный php-скрипт, загрузите wp-blog-header.php.

 <?php define('WP_USE_THEMES', false); require('./wp-blog-header.php'); ?> 

Дополнительную информацию см. На странице http://codex.wordpress.org/Integrating_WordPress_with_Your_Website .

Почему бы не использовать API настроек и обработать данные $_POST внутри функции обратного вызова проверки?

РЕДАКТИРОВАТЬ:

О, подождите: вы сказали, что форма интерфейса , которая, как я полагаю, не связана с параметрами плагина? (Если форма по какой-либо причине обновляет параметры плагина, см. Здесь .)

Как вы добавляете свою форму? Короткий код? Опубликовать данные? Жестко закодировано в шаблоне?