Add a front end Ajax handler. Props Denis-de-Bernardy. See #12400
git-svn-id: http://svn.automattic.com/wordpress/trunk@13527 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
d5427d9210
commit
ffe41241ef
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
/**
|
||||
* Execute an AJAX action.
|
||||
*
|
||||
* To take full advantage of this file, call wp_ajaxurl(); in your theme
|
||||
* or plugin while registering your front-end scripts. Doing so will make
|
||||
* an ajaxurl variable available for use in javascripts. The ajaxurl
|
||||
* variable will point to this file's absolute URL.
|
||||
*
|
||||
* In the admin area, an ajaxurl variable is always available, and points
|
||||
* to wp-admin/admin-ajax.php instead.
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
define('DOING_AJAX', true);
|
||||
require_once('wp-load.php');
|
||||
|
||||
@header('Content-Type: text/html; charset=' . get_option('blog_charset'));
|
||||
|
||||
do_action('ajax_init');
|
||||
|
||||
$hook = !empty($_REQUEST['action']) ? 'ajax_' . $_REQUEST['action'] : false;
|
||||
|
||||
if ( empty($hook) || ! has_action($hook) ) {
|
||||
status_header(400);
|
||||
exit;
|
||||
}
|
||||
|
||||
do_action($hook);
|
||||
?>
|
|
@ -2015,4 +2015,24 @@ function rel_canonical() {
|
|||
echo "<link rel='canonical' href='$link' />\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints the ajax url on the front end
|
||||
*
|
||||
* @since 3.0
|
||||
**/
|
||||
function _wp_ajaxurl() {
|
||||
echo '<script type="text/javascript">',
|
||||
"var ajaxurl = '", esc_js(site_url('wp-ajax.php')), "';",
|
||||
"</script>\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* Hooks _wp_ajaxurl() to wp_head
|
||||
*
|
||||
* @since 3.0
|
||||
**/
|
||||
function wp_ajaxurl() {
|
||||
add_action('wp_head', '_wp_ajaxurl', 1);
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -289,7 +289,7 @@ do_action( 'init' );
|
|||
/**
|
||||
* This hook is fired once WP, all plugins, and the theme are fully loaded and instantiated.
|
||||
*
|
||||
* AJAX requests should use wp-admin/admin-ajax.php.
|
||||
* AJAX requests should use wp-ajax.php and wp-admin/admin-ajax.php instead.
|
||||
*
|
||||
* @since 3.0.0
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue