JRoy
9/13/2018 - 12:59 PM

Simple Wordpress AJAX in Theme

$( document ).ready( function() {
    
    $.ajax({
        url: ajax_object.ajaxurl,
        type: 'POST',
        data: {
            action: 'set_php_interest',
            whatever: 1234
        },
        success: function( response ) {
            console.log(response);
        },
    });
    
});
<?php 

function set_php_interest() {
    $whatever = intval( $_POST['whatever'] );
    $whatever += 10;
        echo $whatever;
    die();
}
add_action('wp_ajax_set_php_interest','set_php_interest');
add_action('wp_ajax_nopriv_set_php_interest', 'set_php_interest');


function enqueue_scripts() {
	wp_enqueue_script( 'main-js', get_theme_file_uri( '/assets/js/global.js' ), array( 'jquery' ), '1.0', true );
    wp_localize_script(
        'main-js', 
        'ajax_object',
        array( 'ajaxurl' => admin_url('admin-ajax.php') ) 
    );
}
add_action( 'wp_enqueue_scripts', 'enqueue_scripts' );

?>