ワードプレスには、AJAX(画面を再読み込みしないで、背後で通信を行う仕組み)が最初から実装されています。このAJAXを利用するひな形のコードをご紹介いたします。

ワードプレスでAJAXを使用するひな形1 呼び出し側のJavaScript
AJAXを実行する側のJAVASCRIPTのコードは下記のようになります。
function doajax(){
   jQuery.ajax({
      type: "POST",
      url: "<?php echo admin_url( 'admin-ajax.php'); ?>",
      data: {
         "action": "ajaxactionname",
         "data": 1234,
     },
     success: function(msg){
        alert(msg);
     }
   });
}
このコードでは、admin_url( ‘admin-ajax.php’); でワードプレスのAJAXを飛ばすURLを取得し、ajaxactionname という名称のAJAXアクションにdataというPOSTキーで1234というデータを送信し、返ってきた出力をアラートします。
ワードプレスでAJAXを使用するひな形2 AJAXリクエストの受け取り側のPHPコード
このコードはテーマのFunctios.phpや作成中のプラグイン等に追加します。
add_action( 'wp_ajax_nopriv_ajaxactionname', 'ajaxactionname_handler' );
add_action( 'wp_ajax_ajaxactionname', 'ajaxactionname_handler' );
function ajaxactionname_handler() {
    $data = $_POST["data"];
    echo $data * 2;
    die();
}
add_action が二つあります。ここで手順1のactionを受け取る関数を定義します。
wp_ajax_nopriv_ajaxactionname
wp_ajax_ajaxactionname
太字の部分は手順1のアクション名になっている必要がございます。wp_ajax_nopriv_という接頭のアクションは、サイトのフロントエンドでAJAXを有効にするもので、wp_ajax_は管理画面でAJAXを有効にするものです。
ajaxactionname_handlerはAJAXのデータを受け取った時に実際の処理を行う関数の内容を書きます。
この例ではdataキーで $_POST により受け取った1234を二倍にして返します。
手順1ではAJAXの結果返ってきた値をアラートしますので、2468がアラートされるかと存じます。
参考になりましたら幸いです。
WordPress ワードプレスドクターワードプレスのテーマやプラグインの作成カスタマイズのご依頼ご相談はWPドクターまでお気軽にお送りください
 

 
        



