示例#1
0
});
add_action('template_redirect', function () {
    if ($action = get_query_var('ajax')) {
        ini_set('zlib.output_compression', 'On');
        if (!defined('DOING_AJAX')) {
            define('DOING_AJAX', true);
        }
        send_nosniff_header();
        $action = $action;
        $args = $_REQUEST;
        $user_logged = is_user_logged_in();
        $privateHook = 'AERIA_AJAX_HANDLER_private_' . $action;
        $publicHook = 'AERIA_AJAX_HANDLER_public_' . $action;
        unset($args['ajax']);
        ob_end_clean();
        if ($user_logged && AeriaAJAX::existsPrivate($action)) {
            do_action($privateHook, $args);
        } elseif (AeriaAJAX::exists($action)) {
            do_action($publicHook, $args);
        }
        exit;
    }
});
class AeriaAJAX
{
    public static $registry = array();
    public static function exists($function_name)
    {
        return isset(static::$registry['AERIA_AJAX_HANDLER_public_' . $function_name]);
    }
    public static function existsPrivate($function_name)