waynedunkley
7/17/2014 - 12:05 AM

Wordpress AJAX

Wordpress AJAX

var data = {
  action: 'my_action', // Name of action(function) in functions.php
  security : local_vars.security, //if used
  data: obj //object of parameters/values to pass
};

jQuery.ajax({
  method: "post",
	url: local_vars.ajaxurl,
	data: data,
	success: function(res) {
		var data = jQuery.parseJSON(res);
		console.log(data);
	},
	error: function(){
		console.log('There was an ajax error!');
	}
});
function enqueue_theme_scripts(){
  wp_enqueue_script( 'script', get_stylesheet_directory_uri() . '/js/script.js', 'jquery', '1.0', true  );

	wp_localize_script( 'script', 'local_vars', array(
		'security'    => wp_create_nonce( 'secrect-key' ),
		'ajaxurl'     => admin_url( 'admin-ajax.php' )
	));
}
add_action( 'wp_enqueue_scripts', 'enqueue_theme_scripts');


function my_action(){
  //verify the request
  if ( !wp_verify_nonce( $_POST['security'], 'secrect-key')) {
		die();
	};

	$res['name'] = 'wayne';
	echo json_encode($res);
	die();
}
add_action( 'wp_ajax_my_action', 'my_action' ); // Add to make ajax accessible in admin area
add_action( 'wp_ajax_nopriv_my_action', 'my_action' ); // Add to make ajax accessible without user loging