There is literally a plugin for almost anything you want to achieve in WordPress. A quick glance at the WordPress Plugin Directory will show you just how many options are available. Admin, Ajax, Comments, Google, Posts, Sidebar, Twitter, and Widgets are all so very well represented that finding the right one can be a full-time gig. Twitter alone has over 200 plugins dedicated to pulling, pushing, and searching through its masses of data. However, before we can auto-tweet a post, or dynamically interleave links to Amazon products, we have to comprehend how a plugin works, and more importantly, how to install and activate them on our blog.
Every plugin is written in PHP (an awesome open source programming language) and are usually accompanied by various other internet file types such as CSS, Javascript, XML, images, JSON files, and so on. Thanks to WordPress's open architecture, developers can inject their plugin's code throughout your blog without you having to touch a single line of code, unless, of course, you want to.
In this chapter, we cover the following:
Installing plugins
How plugins work
Troubleshooting plugins
It's very much imperative to understand that plugins have the ability to affect virtually every part of your blog. If a plugin developer was feeling decidedly evil, he/she could create mayhem to your website with a few tiny lines of code. Make sure you trust the recommending source that's promoting a plugin before you install it.
I personally recommend and reference almost exclusively throughout this book http://Wordpress.org/extend/plugins, the official Wordpress.org
Plugin Directory. This self-policing community often provides very valuable and detailed pros and cons for almost every plugin, with the ability to sort by popularity, rank, and date released.
It's very much imperative to understand that plugins have the ability to affect virtually every part of your blog. If a plugin developer was feeling decidedly evil, he/she could create mayhem to your website with a few tiny lines of code. Make sure you trust the recommending source that's promoting a plugin before you install it.
I personally recommend and reference almost exclusively throughout this book http://Wordpress.org/extend/plugins, the official Wordpress.org
Plugin Directory. This self-policing community often provides very valuable and detailed pros and cons for almost every plugin, with the ability to sort by popularity, rank, and date released.
WordPress offers two main methods to install a plugin. One is WordPress' own baked-in Plugin Installer (results may vary) and the other is the manual method using SFTP or FTP. WordPress's automatic install makes life significantly easier, depending on your webhosting provider, however it might not be available for your hosting package. If this is the case, and your site doesn't support automatic install, you can still manually install plugins using FTP.
Honestly, if your host doesn't support automatic installation, you should seriously consider changing web hosts. The ability to automatically install WordPress updates, plugin updates, and new plugins is one of the reasons WordPress is great; the process is hard enough without letting things become outdated.
Out of the box, WordPress comes with its own plugin app store, which allows you to search through a huge library of free plugins. To access WordPress's built-in plugin browser, click Add New under the Plugins menu. Once inside the plugin app store, you have the option to either search by keyword or name, browse by popular tags, or see the newest plugins added.
![]() |
After you search or browse by a tag, you will be presented with a list of plugins that are available for you to install from WordPress's Plugin Directory. Each will list its version number (the later the version, the more stable, usually), a community rating, a more detailed description, and an Install
link.
Now is a good time to remember that you are dealing with FREE software; what you are about to install will most likely offer NO guarantees or warrantees. Never forget that a plugin runs server-side code on your website, which means that a plugin can access your database(s), can read, write, and delete files, and even send e-mails from your domain.
Note
Please read the reviews and listen to what the community has to say about the plugin you are about to install.
If a plugin is rated with 1 star by a lot of the community, it would be wise to keep your distance. But if a plugin has been installed 40,000 times and has a 3+ star rating, it's fair to say that it is trustworthy.
Clicking Install on this screen will not actually install the plugin; instead, it will launch a window that provides even more details about the specific plugin.
The plugin details pop-up window provides you with a deeper look into the plugin you are about to install.

The important areas to pay attention to are as follows:
The number of downloads shows how popular a plugin is.
The average rating shows you what the community thinks about the plugin.
Last Updated date tells you if the project is still being actively worked upon.
Compatible up to tells you if the plugin has been tested on your version or not. Keep in mind that a lot of plugins might not have been "tested" with your current version, but will still work.
Many times, plugins require no additional setup or configuration, while others need a bit more tooling around to get running. If the developer provided Installation instructions, make sure to look them over to ensure that you're not getting in over your head. If you are happy with what you see, click the big red Install Now button.
If, after clicking the Install Now button, you make it through all of the steps and see Activate Plugin, you're in for a treat! Congratulations, your web host supports the Automatic Install of WordPress.

While you have installed the plugin, you aren't done yet! We still need to activate it.
Once you click Activate Plugin, WordPress will go through the process of turning the plugin on. Depending on what the plugin does, this process could include creating new database tables or setting up new folders and files.
Once activated, you still might be required to provide more information before the plugin can run properly. For example, if you're installing Alex King's Twitter Tools plugin, you'll need to provide your Twitter credentials before it can do any of its magic.
If, when you click Install Now, you see the Connection Information form, like the image in the next screenshot, then we have a little more work to do before we can start installing plugins automatically. However, you still have a chance to have "Automatic Install" if your hosting-provider allows it. Follow the next few steps to see if it's still a possibility. Don't worry if the next steps fail; we will still be able to install plugins quickly, just not as quickly as the "Automatic Install".

In this window, provide your Hostname, which will most likely be just your domain name. For example: icorbin.com
(minus the http), your FTP username, and its password. Some installations might have FTP and SFTP for the connection type; if SFTP is available and it works when you click proceed, use it.
If your web host doesn't support this method, then we need to attack the problem without WordPress and instead use our own FTP client.
If you find that the Automatic Install feature isn't compatible with your web-hosting provider, then manual installation is the next best option. In this section, we will cover how to do it on both a Mac and PC.
At the highest level, manually installing a plugin will require you to connect to your web server, locate the WordPress plugins directory, and transfer a plugin that you have downloaded to your computer using either FTP or SFTP. Once you connect to your web server, you will need to locate your WordPress Plugin folder, which will most likely be in wp-content/plugins
.
If you do not currently have an FTP/SFTP application on your Mac, then I highly recommend Cyberduck, the best free FTP/SFTP client available for the Mac. You can download a free copy of Cyberduck from http://cyberduck.ch/.
After launching the Open Connection, located in the upper-right hand side of the Applications window, the following screenshot will ask for the specifics on connecting to your website. This information can all be usually found in your web host's control panel or the initial setup e-mail you received when you created your hosting account.

Connection Type: FTP, SFTP FTP-SSL. Which connection you should use depends on what your web-hosting provider supports. Almost all web hosts offer the less secure FTP protocol, but if you can, I would suggest connecting with SFTP (Secure FTP).
Server: the domain name or IP address of your website.
Username: your FTP account username.
Password: your FTP account password.
Click Connect.
If everything connects properly, you should see a list of files that exist on your website.
Browse to your plugin directory located at wp-content/plugins
. This folder is where we will be putting any new plugin we want to install.
To save time, you can create a bookmark in Cyberduck, and save it on your desktop or Dock so you are only a click away from your plugin folder. To create a bookmark, select New Bookmark from Cyberduck's Action drop-down menu.
Once you have downloaded the plugin to your computer, you will need to move it over to your website. To do this, we will move the plugin (most likely a .ZIP
archive) to your website's FTP directory. Using Cyberduck, we will extract the ZIP file on the server. Extracting archives on the server can save significant time, as we are only uploading one file opposed to the hundreds some plugins can contain.

Now that we have the plugin's ZIP archive in the plugins directory, we need to expand it or unzip it. Cyberduck offers a super quick way for us to expand archived files like ZIP, TAR, and Gzip by right-clicking on your plugin and selecting Expand Archive.

For Windows users, I suggest the open source application called WinSCP
—this great utility will allow you to connect to your server by FTP, SFTP, and FTP-SSL. To download WinSCP, visit http://winscp.net.
Once you have downloaded and installed WinSCP
, launch the application, and you will be presented with the following screenshot:

Host Name: The domain name or IP address of your website
Port number: Leave this field as it is, as it will be set when we select a protocol in the next couple of steps
Username: Your FTP account's username
Password: Your FTP account's password
Next click Login.
If everything connects properly, you should see the following screenshot, which will contain all of the files that exist on your website, in a similar fashion that Windows Explorer does.

Most website providers keep all of the website files in a specific directory; our goal is to find this folder and proceed to wp-content/plugins
. If you do not see wp-content
, then look for a folder like htdocs, httpdocs
, or www
. Once you locate this folder, inside you should find the folders and files that make up your WordPress installation.
Once inside the plugins folder, we want to create a bookmark so that we can access this folder super quickly next time.
Bookmarks are a super-easy way to connect to your server without having to remember the username, password, and path to your plugins directory. Once you have clicked your way to your plugins directory (located at wp-content/plugins/)
, click the Remote menu item, and select Add Bookmark, or you can simply click Ctrl+B.

Now that we have installed the plugin on the server, either by using Cyberduck on the Mac, WinSCP on Windows, or old school SSH, we still have one more step to go, namely, to activate the plugin.
To activate our plugin, we will first need to visit our plugin browser by expanding the "Appearance" tab and clicking on "Plugins". The plugin browser will display all of the plugins that are currently installed—inactive plugins have a light gray background while active plugins are denoted with a white background.
Once you have located the plugin you just installed, click the "Active Plugin" link. WordPress will now go through the steps needed to get that plugin ready and roaring.
Once your plugin has been activated, you will need to determine if there are any additional steps required to complete the plugin setup. Some of the more complex plugins might require you to provide additional information or might need some special code added to your WordPress theme files. It all really depends on the plugin that you are installing. If you found the plugin through the WordPress directory, then you will most likely find instructions that will tell you exactly the steps you will need to take.
Most plugins have some sort of "settings"; other common names include "configuration" or "options"—each developer has their own special place to include this illusive panel. Because each plugin can stick its options in a ton of different spots throughout the WordPress administrator's navigation, I will make sure to tell you specifically where this page is for each of the plugins covered in this book. For those plugins you install without the guidance of this book, here are a few spots to look.
Top Navigation | Settings
Top Navigation | Plugins
Top Navigation | Tools
WordPress has designated areas that developers can leverage within their plugin; these areas are rightfully named Hooks. Currently, the two types of hooks available are Actions and Filters.
An Action is a hook that's triggered during common blogging events such as creating a post or deleting a comment. For example, the publish_post
action is triggered whenever a post is finally published. Similarly, the wp_insert_comment
is fired each time a website visitor leaves a comment.
A Filter, like an Action, is a hook that plugin developers use to modify various types of data before it's added to your database or displaying it to the end user. For example, the the_content
filter is applied whenever your blog renders a "Posts" content. The content_save_pre
filter is applied right before a blog post's body content is saved to a database.
You can learn more about Actions, Filters, and WordPress Plugins in general at:
Plugin API: http://codex.Wordpress.org/Plugin_API
Writing a Plugin: http://codex.Wordpress.org/Writing_a_Plugin
Actions: http://codex.Wordpress.org/Plugin_API/Action_Reference
Plugin Coding Standards: http://codex.Wordpress.org/WordPress_Coding_Standards
WordPress provides a wonderful built-in plugin manager for installing, activating, deactivating, and editing plugins. You will be spending a good majority of your time in the plugin manager. The sooner you become comfortable with it, the better.
Add New Plugin button lets you browse quickly all of the available plugins from WordPress's Plugin Directory directly from your Administrator section.
The Search for Plugins input box will allow you to quickly filter through all of the plugins you currently have installed.
Organize your currently installed plugins by clicking on any of the filter links like Active, Inactive, and Upgrade Available.
Out-of-Date plugins are signified by the presence of the yellow bar that states "There is a new version of [PLUGIN NAME] followed by an Upgrade Automatically link".
With WordPress's "automatic-updates", keeping all of your plugins up-to-date is a breeze. With a quick glance at your plugin manager, you'll know precisely which plugins need to be updated. A click on the Upgrade Automatically
link performs all of the necessary actions to download, back up, and install the newest version of the plugin.
Out-of-date plugins are highlighted along with a message that says "There is a new version of Plugin Name available". In order to keep your blog running smoothly and securely, make sure that you keep your plugins up-to-date.
Seeing how a developer handles a specific problem, how he/she then tries to break it, and then fixes it, is good way to learn how to program in PHP. Moreover, thanks to WordPress's built-in fail-safes—breaking a plugin will, most likely, not break your website.
WordPress's plugin API at http://codex.Wordpress.org/Plugin_API contains all of the WordPress-specific tags, functions, and insights in to making and modifying plugins.
As mentioned before, each plugin is written in PHP, which means that a plugin has access to every PHP function that exists—all 700 of them. To learn more about PHP and all of the cool stuff that you can do with it, head over to the PHP manual at http://php.net.
Cascading Style Sheets is a standard language for defining the look and feel of text and other elements on a web page. CSS is what you will use to "style" a plugin beyond its original design. You can learn more about CSS from any of these great resources at http://delicious.com/popular/css.
JavaScript is another very popular programming language that runs on your browser—opposed to the server-side nature of PHP. JavaScript allows you to make changes to virtually any part of your website without having to tinker with PHP. For more information about JavaScript, check out http://delicious.com/popular/javascript.
Often, you will notice that problems arise for plugins after a large update to the entire WordPress platform. In any case, the following are a few tips to try if you encounter any problems getting your plugins to run.My plugin stops working after an update—Check the Plugin's website (listed in the Plugin Browser) to see if any known issues exist.
I can't find the plugin in my Plugin Browser—Make sure you uploaded it to the correct folder:
wp-content/plugins
.Check the plugin's version compatibility—There is a chance that the plugin just won't work with a new version of WordPress; if this is the case, hopefully, the developer will release an update soon.
My plugin says I don't have permission to X folder—Permissions are settings on files and folders that either allow or disallow a user to write to them. You can learn more about setting permissions at http://codex.Wordpress.org/Changing_File_Permissions.
My plugin should be showing X on my post, but it's not—Many times, a plugin requires you to place a custom tag within your post to "trigger" the plugin; read the plugin's installation documentation.
I can't find the answer on the plugins' website—A quick google search for "problems installing [PLUGIN NAME] on WordPress" will lead you to an answer. You can also check the forum link on the plugin's homepage in the plugin directory at http://Wordpress.org/extend/plugins.
Google didn't give me the answer I was looking for—Search WordPress's plugin directory for a different plugin.

If you are a power user or someone who likes to get their hands dirty, you will love the Plugin Editor! This little feature allows you to see the raw source of the plugin, and even make changes to it (if you have set the plugins folder to writable). To learn more about file and folder permissions, head over to http://codex.Wordpress.org/Changing_File_Permissions.
By clicking through Plugins | Plugin Editor, you will be presented with the code for the main plugin file. If your plugin folder is writable, you will be able to make changes and click Save. WordPress has safeguards in place to ensure that if you happen to make a mistake with the plugin, that it automatically becomes deactivated. If, at any point, you mangle a plugin to the point where you can no longer fix it, simply delete the plugin and reinstall it.
In this chapter, we covered how to use the Automatic Installation of plugins and how to install plugins manually using SFTP and FTP for both Macs and PCs. I hope you also learned that while plugins can rock your world, they can also be extremely dangerous and should always be handled with care.
The next chapter will focus on plugins that allow you to create content, improve WordPress's search, greet your visitors with personalized messages, and much more.