WordPress.org

Codex

Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Developer Documentation

Introduction

WordPress is fast, lightweight, and easy to use. To ensure it stays that way, the Core Team thinks carefully about adding functionality to the core WordPress code. Still, users often find the need to graft additional functionality into WordPress to meet their needs. This section of the Codex offers guidelines and references for anyone wishing to modify, extend, or contribute to WordPress.


You may also wish to consult the Developer Documentation FAQ.

WARNING: Programming Code Ahead
The following articles may use programming terms without offering detailed explanations for non-programmers.

Although the alteration of the downloadable files for WordPress is limited to a few distinct programmers, every WordPress user has the ability to effect change in the core WordPress code, making WordPress highly customizable.

Plugin Development

  • Plugin Developer Handbook - The best starting place for learning about how to develop plugins
  • WordPress Coding Standards - General information about coding standards for WordPress development
  • Debugging in WordPress - Reference and guide for using the built-in debugging system in WordPress.
  • Data Validation - A must-read for WordPress plugin authors. Describes the functions used by WordPress to validate and sanitize data. Plugin authors should be familiar with these functions and ideas.
  • 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
  • Function Reference - Complete PHP function reference for WordPress
  • Global Variables - A list of all global variables created by WordPress
  • Post Types - Creating new types of posts other than the posts that display on the main loop.
  • Taxonomies - Creating new types of taxonomies other than the built-in ones.
  • Reserved Terms - A list of reserved terms in WordPress.

APIs

  • Plugin API - Hooks, Actions, and Filters to use in your Plugins (version 2.1; has links to older version articles)
  • 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.
  • Options API - Details about the generic option storage system.
  • Transients API - Details about the temporary/time-constrained data storage system.
  • Widgets API - A reference with examples for creating widgets for use in sidebars.
  • Quicktags API - A reference for adding buttons to the HTML editor.
  • Rewrite API - Details about the URL rewriting API.
  • Theme Customization API - Details about the API for Theme Customization screen.
  • Filesystem API - Reference for reading and writing local files to the filesystem to be done securely, on a variety of host types.

Contributing to WordPress

  • Contributing to WordPress - Main starting point if you would like to contribute to core WordPress development, documentation, support, translations, or financial health
  • Automated Testing - Testing WordPress using the automated test suite and how to use the tools and write test cases.
  • Release Philosophy - The philosophy of WordPress releases.

Forums, Lists, and Blogs

Other Information of Interest

  • Advanced Topics - Annotated list of many articles on advanced WordPress topics
  • Query Overview - Description of the WordPress query process used to find posts and display them
  • Reporting Bugs - Information on reporting and fixing WordPress bugs
  • Using Subversion - Introduction to SVN, the source code repository used by WordPress
  • Development Team - The members of the development team.

Other Resources

About WordPressGetting Started with WordPressWorking with WordPressBlog Design and LayoutAdvanced TopicsTroubleshootingDeveloper DocumentationCurrent Events