Plugins are tools to extend the functionality of WordPress. The core of WordPress is designed to be lean, to maximize flexibility and minimize code bloat. Plugins offer custom functions and features so that each user can tailor their site to their specific needs.
This article is a comprehensive list of resources related to plugins and plugin development.
General Plugin References
- Managing Plugins - How to find, install, manage, and troubleshoot plugins
- Plugins - WordPress plugin list, and links to other plugin repositories
- Plugins/Plugin Compatibility - List of which plugins are compatible with which versions of WordPress
Plugin Development Basics
- Writing a Plugin - Best starting place for learning about how to develop Plugins
- I18n for WordPress Developers - Internationalization, including a section on how to internationalize your plugin
- Plugin API - Description of how to use Hooks (Actions and Filters) in your Plugins, and WordPress functions that plugins can override.
- Adding Administration Menus - How to add management menus to your plugin
- Plugin Submission and Promotion - Once you have written your plugin, here are some hints on distributing it widely
- Migrating Plugins and Themes - Contains information on how to upgrade your Plugin so it will work from version to version of WordPress
- Determining Plugin and Content Directories - Example code and explanation of how to determine where your plugin files/folders will be in relation to the server and wordpress install.
- Your First Wordpress Plugin (video demonstration)
- Anatomy of a new Plugin (traduzione italiana)
- Writing a WordPress Plugin Part I and Part II
- Desenvolvendo plugins para o Wordpress (pt-br)
- Make WordPress Plugins - official blog with information for plugin authors
- Create A Simple Wordpress Plugin
Plugin Development - Reference
- Plugin API/Filter Reference - Reference list of filter hooks available in WordPress
- Plugin API/Action Reference - Reference list of action hooks available in WordPress
- Function Reference - Complete PHP function reference for WordPress (version 2.1, with links to previous versions)
- WordPress.org PHPDoc - Nearly all the functions in WordPress now have "PHPDoc" headers. This site shows all the PHPDoc.
- Option Reference - Large list of options that WordPress installs by default (version 2.3.1, no links to previous versions)
- Database Description - Description of the WordPress Database (version 2.1; has links to older version articles)
- Query Overview - Description of the WordPress query process used to find posts and display them
- WordPress Coding Standards - General information about coding standards for WordPress development
- WordPress Deprecated Functions Hook - WordPress 2.4 adds two hooks for when deprecated functions are used, here is how to use them.
- Shortcode API - A tutorial and reference for the shortcode API (new in version 2.5)
- Dashboard Widgets API - A reference with examples for adding new widgets to the admin dashboard.
- Settings API - A reference with examples for adding new settings to existing settings screens.
- PHPXref for WordPress - Cross reference of WordPress files, functions, and variables, which seems to point to the latest released version. This redalt.com PHPXref site has the bleeding-edge Trunk version, as well as 1.5 and 2.0, but the Trunk version may not be updating any more. So, there is now a new Trunk Xref site on ftwr.co.uk available.
- Skippy's list of actions and filters
- WordPress Hooks Database, a database of all WordPress' hooks, showing which version they come from, and linking to the source code spots that use them
- Angsuman's list, a comprehensive listing of WordPress action hooks with documentation and source code location information. It contains all documented and undocumented action hooks in WordPress 2.0.
- dd32's wordpress.org/extend Plugin API information
- PHP Cross Reference of the WordPress and BBPress source, using PHPXref by Joost de Valk - also includes tutorial
- WordPress Plugin Development - Beginner's guide
Plugin Development - Special Topics
- Creating Admin Themes - How to create a Plugin that changes the look of the Admin section
- Creating Tables with Plugins - How to store your plugin's data in a new table in the WordPress database
- Custom Queries - How to implement custom queries that let a plugin control which posts are displayed and in what order
- AJAX in Plugins - How to add AJAX functionality to your plugin, in the administration screens or viewer-facing pages
- Creating Options Pages - How to easily create custom options pages and have WordPress do all the hard work for you!
- Modifying Options Pages - How to modify already existing options pages by adding options for your use on them
- Using the add_meta_box() Function - How to add a custom section to the post editing screen, and save the data the user enters
- TinyMCE Custom Buttons - How to add functionality to the TinyMCE Visual/HTML editor for post/page content
- Geodata - Interoperability conventions for plugins that use or manipulate location or geographic data
- Securing your plugin with nonces
- Official WordPress Widgets page on Widgetizing plugins
- Writing a Widget Plugin
- Using event scheduling in WordPress Plugins
- WordPress Functions History Tool - unofficial tool to help in finding when/if a function has been added/dropped
- WP-Fun's old blog posts and examples - An old (2006-2008) zip with widget code
- Creating Click & Drag Options Boxes in WP 2.7 - screencast on using the add_meta_box API
- Simplified AJAX For WordPress Plugin Developers using Jquery
- jQuery and Ajax in WordPress Administration Plugins
- jQuery and Ajax in Plugins for Public Pages
- Make your WordPress plugin talk AJAX - examples on viewer-side AJAX for plugins
- Conditional Script Loading Revisited - optimal script loading, particularly for shortcodes