Description
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.
Screenshots
Installation
- Upload
tori-ajax
folder to the/wp-content/plugins/
directory - Activate the plugin through the ‘Plugins’ menu in WordPress
- 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'
);
}
- Create a javascript file in the
inc/my_custom_ajax/toria_ajax.js
. - 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.
Exampleif ( 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.
Exampleif ( 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.
Exampleif ( function_exists( 'toria_add_ajax' ) ) { toria_add_ajax( 'simple', 'my_simple_ajax', get_stylesheet_directory_uri() . '/inc/my_custom_ajax/toria_ajax.js', 'public' ); }
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Tori Ajax” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Tori Ajax” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by 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:
$script_depends
(string[]) (Optional) An array of registered script handles this script depends on. Default value: array().$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.$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