This plugin hasn’t been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Ajax For All

Description

The best way to see what this plugin does is to look at the live demo. The theme on that site wasn’t tweaked at all to make the Ajax functionality work (except some irrelevant CSS changes). It works out of the box on most WordPress themes that follow the theme coding recommendations.

This plugin depends on the php curl library.

What won’t work

  1. This plugin won’t work properly with plugins that load the JavaScript they need only on the correct page. I can not provide a list of such plugins, you will need to check if the effect works correctly with your plugins.
  2. This plugin does not support adsense ads inside your content area. Other ad services might break as well.

Other plugins I wrote

Installation

Unzip, upload to your plugin directory, enable the plugin and configure it as needed, see the FAQ as well.

FAQ

Q: It doesn’t work on my theme, what can I do?
A: First, you need to make sure that the base layout doesn’t change. Your posts, pages, archive views etc. shouldn’t be fundamentally different. Then you should find the div that you want to refresh on clicks. In most WordPress themes this is the div with the ID ‘content’, which is the plugin default as well. You might have to add a div wrapper with an ID of ‘content’ if your theme wasn’t coded properly. Make sure that this wrapping div also wraps the comments and post meta info, post navigation (next page) etc. Basically, everything that you want updated.

Q: Your plugin doesn’t work at all!
A: I know for a fact that it doesn’t when you have adsense on your site. Other ad services might have the same issue.

Q: My unicode strings/accents look all wrong after an Ajax request, what can I do?
A: This has been fixed in 0.3.2 but the fix depends on the mbstring PHP library. Ask your hoster/admin to install it.

Q: Won’t this hurt my SEO efforts?
A: The plugin is written so that it won’t be used by search engine crawlers and should not affect SEO at all. Since version 0.5 the plugin also supports browser history, deep linking etc.

Q: How does this work?
A: The idea is rather simple: On any click fire an ajax request to this plugin’s ajax handler. The handler checks if the link is good, fetches the content, and returns the requested div. JavaScript then inserts that response into the specified element of the existing page.

Q: I use cookies to present different output to users.
A: Ouch. The fetching of the new content happens on the server side. An earlier version used to do this differently. You’re out of luck for the moment. My own theme switching plugin won’t work with this plugin because of this. I plan to move the code to the client-side again in the future, but that will take time.

Q: Why doesn’t the plugin do X?
A: You should read through the comments on the plugin page and add your feature request if it isn’t there yet.

Q: I can’t figure this out on my own, can you help me?
A: I offer professional WordPress services, do not hesitate to contact me.

Contributors & Developers

“Ajax For All” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Ajax For All” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

0.5.2 ( 2010-12-15 )

  • Make jumping to deep links optional, thanks Wroth

0.5.1 ( 2010-12-14 )

  • Respect target attribute on links, thanks to Ted

0.5 ( 2010-12-14 )

  • Fix back/forward buttons and deep links

0.4.1 ( 2010-07-27 )

  • Require PHP 5.2 at activation time

0.4 ( 2010-07-26 )

  • Add placeholder to fix layout jumping bug
  • Add transitions
  • Add more config options
  • Complete i18n

0.3.2 ( 2010-07-25 )

  • Handle unicode in content properly. Requires mbstring.

0.3.1 ( 2010-07-23 )

  • Correct name dangit.

0.3 ( 2010-07-23 )

  • Public release
  • JS class based.

0.2

  • Class based
  • Curl authentication works

0.1

  • First working version