WordPressでajax
wordpress javascript jquery ajax
ajaxから呼ばれる関数を準備
function my_ajax_func() { //POSTされたデータの取得 $post_param_a = $_POST['post_param_a']; $post_param_b = $_POST['post_param_b']; //レスポンス echo 'response_data'; exit; }
WordPressの設定
◆ 条件
ajaxで呼び出す関数名:my_ajax_func()
◆ 使用するコード
add_action( ‘wp_ajax_my_ajax_func‘, ‘my_ajax_func‘ );
add_action( ‘wp_ajax_nopriv_ajax_my_ajax_func’, ‘my_ajax_func‘ );
add_action( 'wp_ajax_my_ajax_func', 'my_ajax_func' ); add_action( 'wp_ajax_nopriv_ajax_my_ajax_func', 'my_ajax_func' );
WordPressの情報をJavascriptへ設定
header.php、footer.phpなどにWordPressのURL情報を設定
<script> var ajax_url = '<?php echo admin_url("admin-ajax.php"); ?>'; </script>
javascriptで呼び出し
◆ 条件
上記のjavascriptの変数「ajax_url」を定義後、ajax処理(ここではjQueryを使用)
$.ajax({ type: 'POST', cache: false, async: true, dataType: 'text', url: ajax_url, data: { 'action': 'my_ajax_func', 'post_param_a': 'param_a_value', 'post_param_b': 'param_b_value' }, success: function (response) { //成功 }, error: function (response) { //失敗 } });