2017-03-10 20 views
1

Wordpressプラグインを開発していますが、私のショートコード内のアクションを使って$ _POSTデータを取得するのに問題があります。私が解析しているフォームは、ショートコードを追加したページにあります。アクションフックWordpress Pluginのショートコード

は、ここで私が持っているものです:

function wpd_post_parse() { 

    $string = 'wp hook: ' . var_dump($_POST) . "\r\n"; 

    //$string = 'wp hook: first name: ' . $_POST["first_name"] . "\r\n"; 
    //$string .= 'wp hook: last name: ' . $_POST["last_name"] . "\r\n"; 
    //$string .= 'wp hook: email: ' . $_POST["email"] . "\r\n"; 

    $fileName = dirname(__FILE__) . '/log.txt';  

    file_put_contents($fileName, $string, FILE_APPEND | LOCK_EX); 
    //file_put_contents($fileName, $string, FILE_APPEND); 

    /* 
    if (!empty($_POST)){ 

     $string = 'wp hook: ' . var_dump($_POST) . "\r\n"; 

     $fileName = dirname(__FILE__) . '/log.txt';  

     file_put_contents($fileName, $string, FILE_APPEND | LOCK_EX); 
     //file_put_contents($fileName, $string, FILE_APPEND); 

    }else{ 

     $string = 'wp hook: POST empty' . "\r\n"; 

     $fileName = dirname(__FILE__) . '/log.txt';  

     file_put_contents($fileName, $string, FILE_APPEND | LOCK_EX); 
    } 
    */ 

} 

function mgc_init(){ 

    $htmlStr = 'Hello World!' . "\r\n"; 

    $fileName = dirname(__FILE__) . '/log.txt'; 

    file_put_contents($fileName, $htmlStr, FILE_APPEND | LOCK_EX); 
    //file_put_contents($fileName, $htmlStr, FILE_APPEND); 

    //Add hook to capture $_POST data 
    add_action('parse_request', 'wpd_post_parse'); 

} 

add_shortcode('mgc','mgc_init'); //put this shortcode [mgc] on page in Wordpress 

UPDATE:あなたの助けのためのおかげで今のところ。私は、フォーム提出で$ _POST値(ファーストネーム)を取得しようとしていますが、値は$ _POST ["first_name"]の中にありません。ここでは、コードは今どのように見えるかです:

//Capture the $_POST data 
function wpd_post_parse() { 

    //$string = 'wp hook: ' . var_dump($_POST) . "\r\n"; 

    $string = 'wp hook: first name: ' . $_POST["first_name"] . "\r\n"; 
    //$string .= 'wp hook: last name: ' . $_POST["last_name"] . "\r\n"; 
    //$string .= 'wp hook: email: ' . $_POST["email"] . "\r\n"; 

    $fileName = dirname(__FILE__) . '/log.txt';  

    file_put_contents($fileName, $string, FILE_APPEND | LOCK_EX); 
    //file_put_contents($fileName, $string, FILE_APPEND); 

    /* 
if (!empty($_POST)){ 

    $string = 'wp hook: ' . var_dump($_POST) . "\r\n"; 

    $fileName = dirname(__FILE__) . '/log.txt';  

    file_put_contents($fileName, $string, FILE_APPEND | LOCK_EX); 
    //file_put_contents($fileName, $string, FILE_APPEND); 

}else{ 

    $string = 'wp hook: POST empty' . "\r\n"; 

    $fileName = dirname(__FILE__) . '/log.txt';  

    file_put_contents($fileName, $string, FILE_APPEND | LOCK_EX); 
} 
*/ 

//exit; 
} 

function mgc_init(){ 

    $htmlStr = 'Hello World!' . "\r\n"; 

    $fileName = dirname(__FILE__) . '/log.txt'; 

    file_put_contents($fileName, $htmlStr, FILE_APPEND | LOCK_EX); 
    //file_put_contents($fileName, $htmlStr, FILE_APPEND); 

    do_action('wpd_post_parse'); 

} 

add_shortcode('mgc','mgc_init'); //put this shortcode [mgc] on thedinnerdaily.com/subscribe/ page in Wordpress 

add_action('parse_request', 'wpd_post_parse'); 

答えて

0

このアプローチは動作しませんでしたし、それはWordpressの上でサイト全体の問題の原因となったファイルに出力されることをすべては、「::最初の名前WPフック」です。私は登録ページから完成したフォームのリダイレクトページに自分のコードを移しました。そこから、私が探していたフォームデータをキャプチャすることができました。

関連する問題