Насколько сложен ввод формы шорткода WordPress (массив $ _POST)? - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь создать собственный шорткод WordPress для генерации формы. Я написал функцию (называемую send_advice_request_form ()), которая возвращает код HTML-формы, затем обратный вызов, использующий ob_start () и возвращающий ob_get_clean (), как я могу разработать отправленные данные формы? Если я не укажу атрибут действия для формы, куда будут отправляться данные публикации?

function send_advice_request_form_cb() {

    ob_start();

    echo send_advice_request_form();

    return ob_get_clean();

}
add_shortcode( 'dparequestform', 'send_advice_request_form_cb' );

function send_advice_request_form() { //return HTML form }

1 Ответ

0 голосов
/ 20 марта 2019

Лучший способ работы с пользовательской формой, подобной вашей, - отправить данные на admin-post.php

Создать форму с этим действием и скрытым типом ввода:

<form action="<?php echo esc_url(admin_url('admin-post.php')); ?>">
  /*
     Your fields here.
  */

   <input type="hidden" name="action" value="your_action_name">
</form>

Затем выпридется обрабатывать данные с этими крючками

function send_advice_request_handler() {

    /*
       Do what you have to do.
    */
}

// Hook for everyone, no private
add_action( 'admin_post_nopriv_your_action_name', 'send_advice_request_handler' );

// Hook only for logged in users (verified by wordpress with is_user_logged_in())
add_action( 'admin_post_contact_form', 'send_advice_request_handler' );

Я надеюсь, это поможет вам, скажите мне, если вам нужна дополнительная помощь.

...