Simple Working Example

In your php (html) page
  $AjaxUrlHtml = "var ajaxurl = '" . admin_url('admin-ajax.php') . "';";
  $AjaxNonce = wp_create_nonce( 'my-nonce-special-string' );
  $HtmlOutput .= <<<_END
  <div onclick="DoAjaxPost();" ></div>
  <script type="text/javascript" >

    function DoAjaxPost() {
        var post_data = {
                   'action': 'my_ajax_action_callback',   //The name of the ajax callback action in functions.php
                   'security': '$AjaxNonce',
                   'my_value_1': 9876
        };, post_data);

In functions.php
add_action ( 'wp_ajax_my_ajax_action_callback', 'my_ajax_action_callback' );        //For AJAX calls made for logged in users
add_action ( 'wp_ajax_nopriv_my_ajax_action_callback', 'my_ajax_action_callback' ); //For AJAX calls made from non logged in users
function my_ajax_action_callback()
  //Check the nonce
  check_ajax_referer('my-nonce-special-string', 'security');      //Nonces are tied to the user ID which is handled by php.  THis will die(); if the nonce check fails
  //$user_id = get_current_user_id();                             //Use this if your function wants the wordpress user_id (secure method, don't pass it as an ajax argument)

  if ($my_value_1 == 9876)
    //Do something
    wp_die();     //Terminate immediately and return a proper response
Feel free to comment if you can add help to this page or point out issues and solutions you have found. I do not provide support on this site, if you need help with a problem head over to stack overflow.


Your email address will not be published.