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) {
//失敗
}
});