Wordpressでajax処理を入れる

2015-06-08 15:49

普通にやってもいいんだけど
POST先を見られたくない場合などのために。

functions.phpに下記追加

add_action('wp_ajax_my_ajaxfunc', 'my_ajaxfunc');
add_action('wp_ajax_nopriv_my_ajaxfunc', 'my_ajaxfunc');
function my_ajaxfunc() {
	echo 'アヤックスはアムステルダムにあるクラブチームです。';
	die();
}

dieしないと「0」がechoされてしまう。たしか。

表示したいとこに下記追加

<script>
$(function(){
	$.ajax({
		type:'POST',
		url:'/wp-admin/admin-ajax.php',
		data:{action:'my_ajaxfunc'},
		success:function(res){
			alert(res);
		}
	});
});
</script>

add_action()が2つあるのは、管理者の場合は別管理らしいので。

下記は自分用の備忘録なのでスルーしてください

<script>
$(function(){
	$(".uk-form").submit(function(event){
		event.preventDefault();
		var $form = $(this);
		var $button = $form.find('button');
		var $spinner = $button.find('i');
		$.ajax({
			type:"POST",
			url:'/wp-admin/admin-ajax.php',
			timeout: 10000,
			data:{
				action:"test",
				_ajax_nonce:"<?php echo wp_create_nonce('test');?>",
				data:$form.serialize()
			},
			beforeSend: function(x, s) {
				$spinner.removeClass("uk-hidden");
				$button.attr('disabled', true);
			},
			success:function(r){
				$spinner.addClass("uk-hidden");
				if ( !r ) { exit; }
				alert(r);
			}
		});
		$button.attr('disabled', false);
		return false;
	});
});
</script>


Category: WordPress

Tag: