WordPressでformデータをPOST送信する。リロード対策付き【SUBMIT】


phpファイル(page.phpとか)

<!-- PHP部 -->
<?php
  // 処理関数
  function my_func(){
   ... 処理 ...
  }
  if(isset($_POST["send_post"])){

    // リロード対策
    if ( !isset( $_POST['my_field'] ) || ! wp_verify_nonce( $_POST['my_field'], 'my_action' )){
       unset($_POST);
       exit;
    }

    // 処理関数呼び出し
    my_func();

    // POSTデータをクリア
    unset($_POST);
  }
?>

<!-- HTML部 -->
<form action="<?php the_permalink();?>" method="post">
  <input id="aaa" type="text" name="aaa" />
  <input id="bbb" type="text" name="bbb" />
  <?php wp_nonce_field('my_action','my_field'); ?><!-- リロード対策 -->
  <input type="submit" value="SUBMIT" name="send_post">
</form>

「SUBMIT」ボタンを押したときだけ、my_func()内の処理を実行する。

※「name="name"」は使用できない。