WordPress plugin development: Ajax gebruiken

Stel dat je een WordPress plugin hebt ontwikkeld die een eigen beheerpagina heeft in de WordPress backend. En stel dat je door middel van een button via Ajax een php functie van je plugin wilt laten uitvoeren. Dat doe je in drie simpele stappen!

Stap 1, creëer de button

<button id="trigger"></button>

Stap 2, creëer de (callback) functie en hook deze aan de WordPress AJAX functionaliteit

In je plugin file plaats je de functie die output genereert.

function mijnQuery($parameter1, $parameter2, $parameter3) {
    ...
    return $output;
}

Door je functie aan de juiste hook te koppelen maak je deze beschikbaar voor een AJAX call.

Deze hook is alleen voor de WordPress backend:

add_action( 'wp_ajax_mijnQuery', 'mijnQuery' );

Wil je AJAX functionaliteit voor de WordPress frontend implementeren, gebruik dan deze hook:

add_action( 'wp_ajax_nopriv_mijnQuery', 'mijnQuery' );

Stap 3, maak de call via javascript

jQuery('#trigger').click(function(){
    $.ajax({
        url: ajaxurl, // Sinds WP 2.8 ajaxurl is altijd beschikbaar en verwijst naar adminajax.php
        data: {
            'action':'mijnQuery' // Dit is onze functie uit stap 2
        },
        success:function(data) {
            // Deze geeft de output van de resultaten van onze AJAX request (de callback)
            window.alert(data);
        },
        error: function(errorThrown){
            window.alert(errorThrown);
        }
    });
});