Essentially, AJAX is an acronym for Asynchronous JavaScript and XML, and it is the technique of using JavaScript and XML to send and receive data between a web browser and a web server. The biggest advantage this technique has is that you can dynamically update a piece of content on your web page or web form with data from the server (preferably formatted in XML), without forcing the entire page to reload. The implementation of this technique has made it obvious to many web developers that they can start making advanced web applications (sometimes called RIAs—Rich Interface Applications) that work and feel more like software applications, instead of like web pages.
Keep in mind that the word AJAX is starting to have its own meaning (as you’ll also note its occasional use here as well as all over the web as a proper noun, rather than an all-cap acronym). For example, a Microsoft web developer may use VBScript instead of JavaScript to serve up Access Database data that is transformed into JSON (not XML) using a .NET server-side script. Today, that guy’s site would still be considered an AJAX site, rather than an AVAJ site (yep, AJAX just sounds cooler).
In fact, it’s getting to the point where just about anything on a website (that isn’t in Flash) that slides, moves, fades, or pops up without rendering a new browser window is considered an ‘Ajaxy’ site. In truth, a large portion of these sites don’t truly qualify as using AJAX, they’re just using straight-up JavaScripting. Generally, if you use cool JavaScripts in your WordPress site, it will probably be considered ‘Ajaxy’, despite not being asynchronous or using any XML.
Want more info on this AJAX business? The w3schools site has an excellent introduction to AJAX, explaining it in straight-forward, simple terms. They even have a couple of great tutorials that are fun and easy to accomplish, even if you only have a little HTML, JavaScript, and server-side script (PHP or ASP) experience (no XML experience required) (http://w3schools.com/ajax/).
OK! You’re here and reading this article because you want AJAX in your WordPress site. I only ask you take the just discussed into consideration and do one or more of the following to prepare.
Help your client assess their site’s target users first. If everyone is web 2.0 aware, using newer browsers, and are fully mouse-able, then you’ll have no problems, AJAX away. But if any of your users are inexperienced with RIA (Rich Interface Application) sites or have accessibility requirements, take some extra care. Again, it’s not that you can’t or shouldn’t use AJAX techniques, just be sure to make allowances for these users. You can easily adjust your site’s user expectations upfront, by explaining how to expect the interface to act. Again, you can also offer alternative solutions and themes for people with disabilities or browsers that can’t accommodate the AJAX techniques.
Remember to check in with Don’t Make Me Think, that Steve Krug book I for help with any interface usability questions you may run into. Also, if you’re really interested in taking on some AJAX programming yourself, I highly recommend AJAX and PHP by Cristian Darie, Bogdan Brinzarea, Filip Chereches-Tosa, and Mihai Bucica. In it, you’ll learn the ins and outs of AJAX development, including handling security issues. You’ll also do some very cool stuff like make your own Google-style auto-suggest form and a drag-and-drop sortable list (and that’s just two of the many fun things to learn in the book).
So, that said, you’re now all equally warned and armed with the knowledgeable resources I can think to throw at you. Let’s get to it; how exactly do you go about getting something ‘Ajaxy’ into your WordPress site?
In these next few sections we’re going to cover plug-ins and widgets. Plug-ins and widgets are not a part of your theme. They are additional files with WordPress compatible PHP code that are installed separately into their own directories in your WordPress installation (again, not in your theme directory). Once installed, they are available to be used with any theme that is also installed in your WordPress installation.
Even though plug-ins and widgets are not the part of your theme, you might have to prepare your theme to be compatible with them. Let’s review a bit about plug-ins and widgets first.
WordPress has been built to be a lean, no frills publishing platform. Its simplicity means that with a little coding and PHP know-how, you can easily expand WordPress’s capabilities to tailor to your site’s specific needs. Plug-ins were developed so that even without a little coding and PHP know-how, users could add extra features and functionality to their WordPress site painlessly, via the Administration Panel. These extra features can be just about anything—from enhancing the experience of your content and forms with AJAX, to adding self-updating ‘listening/watching now’ lists, Flickr feeds, Google Map info and Events Calendars; you name it, someone has probably written a WordPress plug-in for it.
Take a look at the WordPress Plug-in page to see what’s available:
http://wordpress.org/extend/plugins/
Widgets are basically just another plug-in! The widget plug-in was developed by AUTOMATTIC (http://automattic.com/code/widgets/), and it allows you to add many more kinds of self-updating content bits and other useful ‘do-dads’ to your WordPress site. Widgets are intended to be smaller and a little more contained than a full, stand-alone plug-in, and they usually display within the side bar of your theme (or wherever you want; don’t panic if you’re designing a theme without a sidebar).
If you’re using WordPress version 2.2 and up, the widget plug-in has become a part of WordPress itself, so you no longer need to install it before installing widgets. Just look through the widget library on WordPress’s widget blog and see what you’d like! (http://widgets.wordpress.com/)
Trying to download Widgets but the links keep taking you to Plug-in download pages? You’ll find that many WordPress Widgets ‘piggyback’ on WordPress Plug-ins, meaning you’ll need the full plug-in installed in order for the widget to work or the widget is an additional feature of the plug-in. So don’t be confused when searching for widgets and all of a sudden you’re directed to a plug-in page.
WordPress Widgets are intended to perform much the same way Mac OS’s Dashboard Widgets and Windows Vista Gadgets work. They’re there to offer you a quick overview of content or data and maybe let you access a small piece of often used functionality from within a full application or website, without having to take the time to launch the application or navigate to the website directly. In a nutshell, widgets can be very powerful, while at the same time, just don’t expect too much.
In this article, we’ll take a look at what needs to be done to prepare your theme for plugins and widgets.
Most WordPress Plug-ins can be installed and will work just fine with your theme, with no extra effort on your part. You’ll generally upload the plug-in into your wp_content/plugins directory and activate it in your Administration Panel. Here are a few quick tips for getting a plug-in displaying well in your theme:
I remember deciding to pursue my first IT certification, the CompTIA A+. I had signed…
Key takeaways The transformer architecture has proved to be revolutionary in outperforming the classical RNN…
Once we learn how to deploy an Ubuntu server, how to manage users, and how…
Key-takeaways: Clean code isn’t just a nice thing to have or a luxury in software projects; it's a necessity. If we…
While developing a web application, or setting dynamic pages and meta tags we need to deal with…
Software architecture is one of the most discussed topics in the software industry today, and…