Tori Ajax

Beschrijving

Developers can now add Ajax by passing three parameters (name of action, PHP callback, and javascript path) to the toria_add_ajax() function using the Tori Ajax plugin.

Documentation

Please check out the Tori Ajax plugin Documentation

About

This is an easy-to-use dev tool for adding Ajax in word press.

Schermafbeeldingen

  • Sample theme functions PHP code
  • Sample Javascript code
  • Sample theme functions PHP code for authenticated and non-authenticated Ajax actions.
  • Sample theme functions PHP code for authenticated Ajax actions.
  • Sample theme functions PHP code for non-authenticated Ajax actions.

Installatie

  1. Upload tori-ajax folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Add custom code to add ajax in your theme functions or anywhere else desirable. For example:
 function my_simple_ajax() {
    // Magic happens here.
    echo json_encode( 'Welcome to Tori Ajax' );
}

if ( function_exists( 'toria_add_ajax' ) ) {
    toria_add_ajax(
        'simple',
        'my_simple_ajax',
        get_stylesheet_directory_uri() . '/inc/my_custom_ajax/toria_ajax.js'
    );
}
  1. Create a javascript file in the inc/my_custom_ajax/toria_ajax.js.
  2. Add Javascript code. For example:
function tori_ajax() {
    jQuery.ajax({
        type: "post",
        url: toria.ajax_url, // admin-ajax.php path,
        data: {
            action: toria.action, // action
            nonce: toria.nonce,   // pass the nonce here
        },
        success: function (data) {
            console.log(data.trim());
            //alert(data.trim());
        },
        error: function (errorThrown) {
            console.log(errorThrown);
        }
    });
}
tori_ajax();// call the function.

FAQ

How to solve toria_add_ajax() is undefined?

  • By ensuring the Tori Ajax plugin is installed.
  • Use the if statement to check if the toria_add_ajax() exists first before using it. For example:
    ~~~~
    if ( function_exists( ’toria_add_ajax’ ) ) {
    toria_add_ajax(
    ‘simple’,
    ‘my_simple_ajax’,
    get_stylesheet_directory_uri() . ‘/inc/my_custom_ajax/toria_ajax.js’
    );
    }
    ~~~~

How to register action for both logged in and non logged in users?

You can use the fourth parameter to set the mode to ‘both’.
By default, the mode is set to ‘private’ for authenticated Ajax actions for logged-in users.
You can also use ‘public’ to expose the Ajax action to non-authenticated Ajax actions for logged-out users
Summary
both – For exposing the Ajax action to authenticated Ajax actions for logged-in users and non-authenticated Ajax actions for logged-out users.
Example

if ( function_exists( 'toria_add_ajax' ) ) {
    toria_add_ajax(
        'simple',
        'my_simple_ajax',
        get_stylesheet_directory_uri() . '/inc/my_custom_ajax/toria_ajax.js',
        'both'
    );
}

private – For exposing the Ajax action to authenticated Ajax actions for logged-in users.
Example

if ( function_exists( 'toria_add_ajax' ) ) {
    toria_add_ajax(
        'simple',
        'my_simple_ajax',
        get_stylesheet_directory_uri() . '/inc/my_custom_ajax/toria_ajax.js',
        'private'
    );
}

Or

if ( function_exists( 'toria_add_ajax' ) ) {
    toria_add_ajax(
        'simple',
        'my_simple_ajax',
        get_stylesheet_directory_uri() . '/inc/my_custom_ajax/toria_ajax.js'
    );
}

public – For exposing the Ajax action to non-authenticated Ajax actions for logged-out users.
Example

if ( function_exists( 'toria_add_ajax' ) ) {
    toria_add_ajax(
        'simple',
        'my_simple_ajax',
        get_stylesheet_directory_uri() . '/inc/my_custom_ajax/toria_ajax.js',
        'public'
    );
}

Beoordelingen

Er zijn geen beoordelingen voor deze plugin.

Bijdragers & ontwikkelaars

“Tori Ajax” is open source software. De volgende personen hebben bijgedragen aan deze plugin.

Bijdragers

Vertaal “Tori Ajax” naar jouw taal.

Interesse in ontwikkeling?

Bekijk de code, haal de SVN repository op, of abonneer je op het ontwikkellog via RSS.

Changelog

1.0.0

  • The beginning of the Tori Ajax plugin.

1.0.1

  • Fixed: Uncaught ArgumentCountError during the nonce check.
  • Added JSON output for nonce messages.

1.0.2

  • Added 3 optional arguments to toria_add_ajax() function:

    1. $script_depends (string[]) (Optional) An array of registered script handles this script depends on. Default value: array().
    2. $script_version (string|bool|null) (Optional) String specifying script version number, if it has one, which is added to the URL as a query string for cache busting purposes. If the version is set to false, a version number is automatically added equal to the current installed Tori Ajax version. If set to null, no version is added. Default value: false.
    3. $script_in_footer (bool) (Optional) Whether to enqueue the script before instead of in the . Default ‘false’.
  • Added support for PHP version 5.6.20 and above

  • Added compatibility of WordPress Version 3.0 and above

1.0.3

  • Fixed: PHP Notice undefined variable: allowed_html

1.1.0

  • Compatible with WordPress 6.0.
  • Added filters:
    apply_filters( ’toria/ajax/action’, $action );
    apply_filters( ’toria/ajax/php_callback’, $php_callback, $action );
    apply_filters( ’toria/ajax/script_path’, $script_path, $action, $php_callback );
    apply_filters( ’toria/ajax/mode’, $mode, $action, $php_callback, $script_path );
    apply_filters( ’toria/ajax/nonce’, $nonce, $action, $php_callback, $script_path, $mode );
    apply_filters( ’toria/ajax/ajax_object’, $ajax_object, $action, $php_callback, $script_path, $mode );
    apply_filters( ’toria/ajax/ajax_handle’, $ajax_handle, $action, $php_callback, $script_path, $mode );
    apply_filters( ’toria/ajax/script_depends’, $script_depends, $action, $php_callback, $script_path, $mode );
    apply_filters( ’toria/ajax/script_version’, $script_version, $action, $php_callback, $script_path, $mode );
    apply_filters( ’toria/ajax/script_in_footer’, $script_in_footer, $action, $php_callback, $script_path, $mode );
    apply_filters( ’toria/ajax/ajax_variables’, $ajax_variables, $action, $php_callback, $script_path, $mode );

1.2.0

*Added more parameters to some filters.
*The affected filters are:
apply_filters( ’toria/ajax/ajax_object’, $ajax_object, $action, $php_callback, $script_path, $mode, $nonce );
apply_filters( ’toria/ajax/ajax_handle’, $ajax_handle, $action, $php_callback, $script_path, $mode, $nonce, $ajax_object );
apply_filters( ’toria/ajax/script_depends’, $script_depends, $action, $php_callback, $script_path, $mode, $nonce, $ajax_object, $ajax_handle );
apply_filters( ’toria/ajax/script_version’, $script_version, $action, $php_callback, $script_path, $mode, $nonce, $ajax_object, $ajax_handle, $script_depends );
apply_filters( ’toria/ajax/script_in_footer’, $script_in_footer, $action, $php_callback, $script_path, $mode, $nonce, $ajax_object, $ajax_handle, $script_depends, $script_version );
apply_filters( ’toria/ajax/ajax_variables’, $ajax_variables, $action, $php_callback, $script_path, $mode, $nonce, $ajax_object, $ajax_handle, $script_depends, $script_version, $script_in_footer );

2.0.0

  • Compatible with WordPress 6.1.1.
  • Fix: Ajax in private mode is only accessible by signed-in users and those in public are only accessible by signed-out users.
  • Pro version available.

2.0.1

  • Fixed a PHP Deprecated notice.

2.0.2

  • Added plugin meta links in wp-admin/plugins.php