This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Advanced AJAX Page Loader


AJAX Page Loader will load posts, pages, etc. without reloading entire page. It will also update the URL bar with the url the user would have been going to without AJAX, this means the user can copy the url or bookmark it and return to the page they were visiting! This plugin will also add the page to there history for even more usability!

If this has helped you and saved you time please consider a donation via PayPal to:

Many thanks to Luke Howell, author of the original plugin which motivated me to re-write it and extend it to what it is today.


I have got to give a very special thanks to the people mentioned below who have offered their support with donations, let me also take the time to thank others who report problems, offer solutions and help debug the plugin. I really appreciate the excellent support and feedback :).

  • Travis Avery (travisavery)
  • AlohaThemes (

Please send your donations to:


  1. Upload advanced-ajax-page-loader folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. Goto “Settings” > “Advanced Ajax Page Loader” and review the settings, click save.
  4. make sure your theme has the content area wrapped in a tag such as a DIV with an id attribute called “content”. (data within this div will be replaced with AJAX content). SEE THEME GUIDE IN FAQ.



Q: The plugin isn’t working right, HHEEEELLLPPPP!!!!!!!!

A: You may need to use the Theme Support Guide in order to use AJAX Page Loader with your custom theme (SEE BELOW). But try turning on “Debug Messages” in the admin settings first, report any messages to the wordpress forums.

Q: I have content that usually uses JavaScript but now that is not working when loaded with ajax.

A: Unfortunately any inline javascript in the HTML being loaded into the page is ignored by your browser,
also any bindings for lightbox for example need to be reloaded when new HTML is put into the page.
You need to take the code used to bind the javascript to your elements and re-call them after the content
changes… Put the binding code in the JS file after the line which says “DROP YOUR RELOAD CODES BELOW HERE”

I have included a few example codes for nivoslider and jScrollPane, if you have other code please let me know and I can add it to the list.

—-Theme Support—-

This edit may be required by some users with certain themes that cause AJAX Page Loader to reload the sidebar along with the content.

  1. Open your theme’s index.php file.
  2. find the “div” tag that contains the following inside a php tag: ” if (have_posts()) : while (have_posts()) : the_post(); ” .
  3. Give this “div” tag a unique ID. (Default: div id=’content’)
  4. Check the AAPL settings page on your WordPress admin panel and make sure the content DIV id match, if you used ‘content’ this should be the default shown.

If you theme’s search function stops working or causes the page to reload, then you’ll need to edit index.php (and any other pages the search box appears) and give the


form> a class (default: class=’searchform’). Make sure “Search form Class” matches this for AAPL to find it.

Need more help?


Some people have been concerned by the debugger, this has been cleared up a little with some extra information and a heading which I will explain below:

Information – Anything with this is informative only, definately nothing to worry about.
Warning – Anything with this is a warning, it may affect functionality but it may be working exactly as planned, for instance if your wordpress doesnt have a search form, this will show to say AAPL could not find it. It’s fine.
Error – Anything with this is an error, and should be diagnosed ASAP – it WILL affect the functionality of AAPL.

Please switch off debug on a live site else everyone will be getting these messages. Only use this if you have a problem and wish to seek help on the forums.

If you need support please visit:


September 19, 2017
Thanks! Plugin works. I’ve combined it with “Ajax Pagination and Infinite Scroll” by Malinky, and this works! One question: is there plans to support admin bar? I mean that if you open post there is no edit link in admin bar.
July 10, 2017
doesnt do a thing and in admin settings everything screams in orange
June 19, 2017
In many cases the extensions remove widget from the sidebar to put them in the main div content Thierry
January 20, 2017
This doesn’t work as it should and as it has been documented and there is no documentation or support. Waste of time and effort
October 28, 2016
Very good work. Offers very useful options for callbacks (reload code, click code, ajax load code). Works out of the box in most cases. Just had a big problem to make a plugin that relies on ajax json config work with AAPL (ajax call of the plugin worked only when the user is loggedin). Problem and resolution, that may be useful for other users of AAPL, is here :
Read all 34 reviews

Contributors & Developers

“Advanced AJAX Page Loader” is open source software. The following people have contributed to this plugin.




  • IMPORTANT VULNERABILITY FIX!! Somehow you are allowed to access AAPL’s upload files when not logged in as reported by A fix has been applied to make sure a user has manage_options abilities to be safe.


  • Stability checks for latest wordpress version


  • Stability checks for latest wordpress version


  • Cleaned up admin page


  • Fixed a bug with data appearing in the page.


  • Updated compatibility to latest wordpress.
  • Premium plugin coming soon!


  • Updated compatibility to latest wordpress.
  • More loaders added!


  • Updated compatibility to latest wordpress.


  • Automatic “commercial” checking URL fix


  • Automatic “commercial” checking to make stuff easier
  • Added smooth scroll to top, thanks to Bram Perry


  • Small php fixes for compatibility… oops (removed shorthand <?
  • Clarification on commercial checkbox….


  • People seem to be getting confused with debug mode, so modified messages and added info to the FAQ.
  • Now using json_encode when loading the error html and etc.
  • Search form checking had some problems, seems I merged an old code with a new one – dumbass I know.
  • Some new rules for commercial users and removing adverts/donation.


  • sorry for bad releases!
  • fixed “no jquery” checker
  • Updated admin panel so its cleaner.
  • You can now toggle the “scroll to top” feature


  • updated jquery version check/include.


  • whoops…


  • whoops…


  • jQuery update warning now only appears if you have the debug enabled.
  • changes to the initJQuery() function.
  • try – catch added around reload codes to avoid error reports when it is in fact reload code. (put AAPL in debug to see errors).


  • Added compatibility tag for latest wordpress


  • Slight change to the default click code.
  • Fixed a small layout hickup for reload_code.js – not causing any problems but nice to have things layout good 🙂
  • Changed tested tag to the latest wordpress version – yes it works fine 🙂
  • More loading images added 😀


  • I fell for it… accidently used $ instead of jQuery for reference. Fixed!


  • title tag code has been updated and should now fix the & issues! (Needs Testing).
  • [eag] – Thanks to Juanjo who has contributed a function for manipulating returned data before AJAX drops it onto the page.


  • replaced all get_settings() to get_option() – get_settings() is now deprecated since wordpress 2.1 and if you have debugging enabled it breaks this script.


  • Reverted the .on() back to .click() – some people reported problems where their other plguins were calling jQuery 1.5 and AAPL was failing because it needed 1.7 minimum, now 1.5 will work again.


  • Reversed the changelog and upgrade notice list so that the latest changes are at the top (thanks for the tip christianebuddy).
  • ‘fixed’ a short code <? to the correct <?php.
  • scripts now use jQuery instead of $ – should fix lots of compatibility problems, also we now try and call jQuery the RIGHT way 🙂
  • the “check for jQuery” option is now not required by default, and should be disabled unless it breaks your site.
  • You can now add code to a special section called “click code”, useful for menu / link changing.
  • Added example codes to the website, these should be useful for people 🙂


  • Sorry for rapid development releases…
  • Better integration with search box’s, now you can set a “class”, it is recommended to setup a “class” to search forms so (a) you can have multiple on the page, (b) more debugging availiable.
  • Google analytics support has now been added, so when someone AJAX’s to another tab, you can track it in analytics!!!
  • extra information has been added to the admin panel to explain stuff.
  • search binding by ID is still supported for backwards compatibility and quick integration for atleast the main theme.
  • caching has been turned off for ajax requests, in the future though I will make an admin option for this…
  • debug mode now checks for jQuery version and reports if you are not in the 1.7 range. (hope 1.8 doesnt get released now 😉


  • IE7 / IE8 issue resolved and was caused by jQuery :
  • Now using .on() to attatch click events.
  • Page titles are now not so messed up – but are still a problem :s
  • Leaving any field plank in the admin panel should now cause the default settings to load (useful when upgrading and there are new options).
  • Added some new loading animations (using WordPress logos).


  • Plugin is disabled for IE7 and IE8 due to the peakaboo rendering bug in these versions.


  • admin panel work, MORE FEATURES!!! 😀
    • You can now set the loading HTML code.
    • You can also set the loading error HTML code.
    • The href ignore has been extended and can now be changed in the admin panel.


  • Fix for back button.


  • Fix for reload code.


  • reverted AAPLhome variable as suggested by Brandon Nourse.
  • admin panel added for various options.
  • added ability to change the target id for changing content.
  • added ability to change/upload the loading image (image will now be kept on updates).
  • added ability to set reload code in admin panel, this will be kept upon upgrading.
  • Enable Javascript debug and jQuery check from the admin panel.
  • You can optionally enable a footer link to link to the project site!
  • Various sample loaders included so you can choose one to suit you.


  • # links fix.
  • Improvements to loading.gif handling, dont need to provide dimensions anymore 🙂
  • Improvements to loading.gif handling, image is now pre-loaded and kept in memory 🙂
  • plugin file path code improved, now using plugins_url instead of hard coded paths!
  • Suffusion menu bar changer included (need to uncomment it to use it)
  • loading is more likely to be centered now – yup


  • HTML Special characters in the page now display correctly (I hope).
  • Anchor links (hash (#) links) are now ignored by the ajax process.
  • I think I#m now correctly tagging my releases, hopefully!


  • Page title doesnt show html special character encoding anymore.


  • Fixed back button again and again and again and again (sorry my bad)


  • onpopstate fixed, sometimes clicking back on the browser would not work… Now it should!
  • The bindings to the search form were pretty poor (original authors code), I have re-written this and it should now work much better, still needs a little improving though.
  • Ajax requesting code completely re-written to use jQuery’s library, this should offer better compatibility between browsers, makes the code neater and offers more options such as caching.
  • Ajax requests are not cached, and error catching is more reliable (you dont see it randomly when the page is in fact loading correctly).
  • New ‘warnings’ system implemented to give you debug if you set ‘showWarnings’ to ‘true’ in the .js file… This could help us BOTH 😉


  • Load current menu item (thanks to euphoriuhh).
  • nivoslider example reload code added.
  • IE fix for browser history (thanks to euphoriuhh).
  • Now sets page title when you change page.


  • Removed link-back as it is against wordpress TOC


  • Fixed small problems checking if jQuery is called.


  • Some workaround code so things like jscrollpane can work properly.


  • jQuery check to make sure it has not already been included
  • jQuery var in advanced-ajax-page-loader.php, set this to false to stop jQuery being included altogether.
  • When content is loaded you can optionally call document.ready, change the ready variable in javascript file.


  • Yup some fixes for the readme.


  • First release by Dean williams with a huge improvement…
  • Using jQuery more than pure javascript to help compatibility and code layout.
  • Updated jquery to the latest 1.7 release.
  • fade transitions used when ajax is loading the page.
  • If a page fails to load it shows on the page (no ugly message box’s)
  • When a page is loaded the URL bar is updated on the browser for easy copying or bookmarking of links.
  • When a page is loaded the browsers history is updated so that the user can go back/forward between pages.
  • Easier to edit the used id for content area, some themes differ on this one so it’s useful.


  • First release by Luke Howell.