Skip to content

Instantly share code, notes, and snippets.

@hawkidoki
Last active April 22, 2018 19:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hawkidoki/9b218bc9caceb0bc46ae0ca90f4682fb to your computer and use it in GitHub Desktop.
Save hawkidoki/9b218bc9caceb0bc46ae0ca90f4682fb to your computer and use it in GitHub Desktop.
<?php
// File: ajax.php (Root WP Install)
// Init
// -----------------------------------------------------------------------
define('DOING_AJAX', true);
define('SHORTINIT', true);
// WP Load & Requirements
// -----------------------------------------------------------------------
require('wp-load.php');
$ajax_actions = '/includes/ajax-actions.php';
// l10n
// -----------------------------------------------------------------------
require_once( ABSPATH . WPINC . '/l10n.php' );
require_once( ABSPATH . WPINC . '/class-wp-locale.php' );
require_once( ABSPATH . WPINC . '/class-wp-locale-switcher.php' );
// Basics
// -----------------------------------------------------------------------
require( ABSPATH . WPINC . '/formatting.php' );
require( ABSPATH . WPINC . '/pluggable.php' );
require( ABSPATH . WPINC . '/meta.php' );
// User
// -----------------------------------------------------------------------
require( ABSPATH . WPINC . '/user.php' );
require( ABSPATH . WPINC . '/capabilities.php' );
require( ABSPATH . WPINC . '/class-wp-user.php' );
require( ABSPATH . WPINC . '/class-wp-user-query.php' );
require( ABSPATH . WPINC . '/class-wp-roles.php' );
require( ABSPATH . WPINC . '/class-wp-role.php' );
require( ABSPATH . WPINC . '/class-wp-session-tokens.php' );
require( ABSPATH . WPINC . '/class-wp-user-meta-session-tokens.php' );
require( ABSPATH . WPINC . '/class-wp-taxonomy.php' );
// Theme
// -----------------------------------------------------------------------
require( ABSPATH . WPINC . '/theme.php' );
require( ABSPATH . WPINC . '/class-wp-theme.php' );
require( ABSPATH . WPINC . '/template.php' );
// Posts
// -----------------------------------------------------------------------
require( ABSPATH . WPINC . '/class-wp-query.php' );
require( ABSPATH . WPINC . '/class-wp-rewrite.php' );
require( ABSPATH . WPINC . '/class-wp-tax-query.php' );
require( ABSPATH . WPINC . '/class-wp-meta-query.php' );
require( ABSPATH . WPINC . '/class-wp-post-type.php' );
require( ABSPATH . WPINC . '/class-wp-post.php' );
require( ABSPATH . WPINC . '/link-template.php' );
require( ABSPATH . WPINC . '/author-template.php' );
require( ABSPATH . WPINC . '/post.php' );
require( ABSPATH . WPINC . '/taxonomy.php' );
require( ABSPATH . WPINC . '/post-template.php' );
require( ABSPATH . WPINC . '/shortcodes.php' );
$GLOBALS['wp_rewrite'] = new WP_Rewrite();
// Addons
// -----------------------------------------------------------------------
require( ABSPATH . WPINC . '/kses.php' );
require( ABSPATH . WPINC . '/rest-api.php' );
// User Functions
// -----------------------------------------------------------------------
wp_plugin_directory_constants();
wp_cookie_constants();
// Ajax Check
// -----------------------------------------------------------------------
require( ABSPATH . WPINC . '/http.php' );
send_origin_headers();
@header('Content-Type: text/html; charset=' . get_option('blog_charset'));
@header('X-Robots-Tag: noindex');
send_nosniff_header();
nocache_headers();
if(empty($_REQUEST['action']))
wp_die('0', 400);
// Ajax Actions
// -----------------------------------------------------------------------
require(get_stylesheet_directory() . $ajax_actions);
// Ajax Apply Hooks
// -----------------------------------------------------------------------
if(is_user_logged_in()){
if(!has_action('wp_ajax_' . $_REQUEST['action']))
wp_die('0', 400);
do_action('wp_ajax_' . $_REQUEST['action']);
}else{
if(!has_action( 'wp_ajax_nopriv_' . $_REQUEST['action']))
wp_die('0', 400);
do_action('wp_ajax_nopriv_' . $_REQUEST['action']);
}
wp_die('0');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment