Beginning WordPress 3 is outdated! You should get the new edition instead: WordPress for Web Developers. (It’s the same book, only updated; we changed the title to make its intended audience clearer.)
There are thousands of plugins and themes you can use to extend WordPress. You’ll find most of them in the official plugin repository, http://wordpress.org/extend/. I’ve provided URLs only for those plugins that can’t be found easily by searching Extend for their names. See Chapter 3 for information on installing and configuring plugins.
Editing: Inline, Rich Text, Reuseable Content, and Attachments
Front End Editor and Inline Editor allow posts and pages to be edited without having to enter the dashboard.
TinyMCE Advanced allows you to add a number of buttons to the rich text editor, including a complete set of table buttons.
TinyMCE Excerpt provides the rich text editor for the excerpt field. It does not have a visual/HTML switch and will not include any changes to the visual editor made by other plugins.
Post Snippets and Reuseables allow you to define bits of reuseable content that can be included in a post via shortcode and/or rich text editor buttons.
List Child Attachments provides a template tag and shortcode that lists all the files attached to a post or page.
Advanced Excerpt modifies the_excerpt tag. It allows you to preserve HTML in excerpts, define the excerpt length, and change the ellipsis character.
the_excerpt Reloaded provides a new template tag for excerpts. You can preserve specified HTML tags in excerpts, define the excerpt length, choose what ‘more…’ text to display.
PJW Page Excerpt provides the excerpt box on page write/edit screens and allows you to use the_excerpt for pages.
Custom Post Types, Taxonomies, and Fields
Custom Post Type UI provides an options page that allows you to create and manage both custom post types and custom taxonomies.
Taxes demonstrates custom taxonomies by adding a tag field for “people” to posts, pages, and media attachments. It works, but it’s out of date; see the Custom Content Types and Taxonomies chapter for an updated version.
PODS provides a framework for creating and using custom content types.
Custom Field Template, Magic Fields, and Flutter all add boxes to edit screens and allow you to define custom post types.
My Page Order provides a simple drag and drop interface for rearranging the order of pages on any single level of the page hierarchy. A dropdown menu allows you to choose pages that have children and rearrange the pages on that level.
pageMash provides a complex drag and drop interface for rearranging the order and hierarchy of pages.
Page Lists & Navigation
Exclude Pages provides a checkbox on the edit page screen that allows you to explicitly include or exclude pages from WP’s page list functions.
Page Lists Plus modifies wp_list_pages. You may exclude pages, add a Home link, add rel or nofollow attributes, or redirect pages to another URL.
NAVT allows you to create and arrange menus through a complex drag and drop interface. Pages, users, categories, and user-defined options are all available for inclusion.
Page Links To and Redirection redirect posts or pages to another URL.
Yoast Breadcrumbs provides a template tag for breadcrumb navigation on both posts and pages. Pages display the page parents; posts display the category hierarchy.
Folding Pages Widget provides parent/child/sibling page navigation.
AZ Index creates alphabetical listings of posts by any field: title, category, author, excerpt, tag, etc. Posts may be sorted within the list by some other field, up to three levels deep.
WP-SNAP provides alphabetical listings of posts by title within a category.
Permalinks & Short URLs
No Category Base removes the category base from your permalink format. Can slow performance, since WP will have to check for matching category and page titles.
Pretty Link turns your WordPress site into a URL shortening service of your own, and can track visitors to the short links.
Short URL provides a shorter URL for every post.
wp.me is WP’s own URL shortening service, available as part of the WordPress.com Stats plugin.
Feedsmith redirects WP’s built-in feeds to your Feedburner URL.
Subscribe to Comments allows visitors to receive email notifications of follow-up comments on individual posts.
Subscribe2 allows registered users to receive email notifications of new posts.
Clean Notifications reformats email notifications in HTML, removing extraneous information and providing useful links.
Notifications to All Administrators sends all the common notifications to all users with the administrator role, not just the one whose email address is shown under Settings ~TRA General.
Peter’s Collaboration E-mails sends a message when an author submits a post for review, and when a pending post is approved, scheduled, or changed back to a draft.
Contact Form 7 allows you to create email contact forms with Akismet spam protection.
MM Forms is a fork of Contact Form 7 that can store form responses in the database as well as emailing them.
CForms II can store form responses in the database, upload files, create multi-page forms, limit submissions by date or number, and more.
Gravity Forms offers a great user interface, file uploads, email autoresponders , and confirmation pages with data passed from the form input. It allows user-submitted posts (with images, categories, etc.). Commercial; $39-199.
Users, Permissions, and Login Screens
Members provides on/off toggles for all capabilities in WP and allows you to define new roles. It also adds several features relating to private content.
Sidebar Login provides a login form widget.
Login Redirect allows you to reroute users (by username or by role) to a specified URL on login.
Members Only requires users to log in before viewing your site.
Private Suite allows you to change the prefixes on private and password-protected post/page titles, set which roles can read private content, and create private categories.
Google Analyticator includes the Google Analytics code in your footer and provides checkboxes for advanced Analytics options, such as AdSense integration and tracking file downloads, outbound links, and admin visitors. It also adds a graph and some information about your most requested pages to your Dashboard.
WordPress.com Stats provides a graph of visitors and search queries as a dashboard widget.
Podcasting adds a file upload box to the post write/edit screen, provides extra fields for iTunes data, and creates a new feed that includes the iTunes data.
Podcast Channels allows you to create separate podcasts for individual categories.
Wickett Twitter Widget provides a widget that will display your tweets.
Twitter Tools provides a widget that will display your tweets as well as a number of advanced options: autotweet when you post to your blog; shorten URLs with bit.ly or other services; include a hashtag in tweets.
Sociable adds a configurable row of buttons below your post that will allow users to quickly share your post with specified social networking services.
BuddyPress turns your WordPress site into a complete social network.
Events and Calendars
The Events Calendar allows you to create events (and optionally make a post for each) and display them as a small sidebar calendar, a large calendar in a post, or a sidebar list of upcoming events.
GigPress is designed for listing tour performances, but might work for your general events. Includes microformats, RSS and iCal feeds, and CSV export.
WP-Calendar displays a gorgeous large-format calendar with entry titles shown on the days they were posted.
WP Cache creates cached HTML files of your site and displays them using .htaccess rewrite rules.
WP Super Cache includes WP Cache and adds a number of other features: file locking, GZIP compression, cache rebuild options, and more.
W3 Total Cache uses APC or memcached to cache database queries rather than files.
Performance, Maintenance, and Diagnostics
Maintenance Mode displays a simple maintenance message to everyone except administrators.
WP-DB-Backup provides a button to quickly back up specified database tables, and can be scheduled to back up to a specified directory.
Optimize DB performs MySQL’s automatic optimization routines on your database from the admin area.
WP Tuner helps you identify performance problems. It appends an information panel to every page, viewable only to administrators, that analyzes queries and database response time.
Search & Replace allows you to replace text in chosen database fields.
SQL Monitor appends an analysis of SQL queries to any screen being viewed by an administrator.
Broken Link Checker runs a background process that periodically checks your site for broken links.
Changelogger displays a plugin’s readme.txt changelog section (if available) on the plugin management screen for all versions between the one you have installed and the current version in the plugin repository.
Show Template lets you know which theme file is being used to generate a particular page.
Hooks & Filters Flow (http://planetozh.com/blog/my-projects/wordpress-hooks-filter-flow/) lets you see which filters are being applied (and in what order) to various pieces of content in a WordPress template.
Health Check is still in development as of this writing. It checks your installation for server configuration errors and suggests improvements.
WP Security Scan monitors file permissions, database security, and user passwords to help mitigate security vulnerabilities.
WordPress Firewall examines incoming requests and rejects those that match well-known attack vectors.
WPtouch provides an iPhone app-style theme to mobile users.
Query Posts lets you select posts to display in the sidebar with all the power of the query_posts function (and none of the coding).
Section Widgets allows you to display the widget’s contents selectively based on the page context.
Random Posts from Category is a widget that allows you to display posts from a selected category in your sidebar.
Dashboard Notepad creates a Dashboard widget where you can store and share notes.
Search Engine Optimization
Google XML Sitemaps generates XML sitemaps (plain and/or gzipped) according to the sitemaps.org specification.
All in One SEO Pack reverses the order of the page/post and site names in titles, sets canonical URLs, generates meta tags, and more.
Import HTML Pages imports HTML files as posts or pages.
Drupal Import: install an old WP version, import, then upgrade. These are PHP or SQL scripts, not plugins.
Mambo/Joomla Import is not a plugin, but does provide a web interface. Tested with M/J 1.0-1.5x and WP 2.7x.
CSV Importer imports posts from a comma-separated values file, and can be used to import content from Excel.
Domain Mapping allows users to map their own domains to their network subdomains.
Multi-Site allows you to create multiple networks from one WordPress installation. Each new network can have its own site administrator and subsites.