Plugin Developer Handbook Chapter List

Thank you to everyone that commented and help me brainstorm what is needed for a good pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party developer handbook. I’ve synthesized that information and have come up with the following chapter list / section plan behind the jump. Â Please let me know if there is anything you think I missed. Â Remember, this handbook is designed specifically for the task of Plugin development. Â It’s not designed to be the end all, be all guide to WordPress. Â It’s designed to help new plugin developers get to the point that they can build a plugin and assist existing plugin developers with finding the best practices for doing things.

The next step is going to be to find authors for all of these sections. Â I’m going to be reaching out to a number of people to help out, but I’d also love to see some people volunteer. Â Please contact me @aaronjorbin on twitter or jorbin in IRCIRC Internet Relay Chat, a network where users can have conversations online. IRC channels are used widely by open source projects, and by WordPress. The primary WordPress channels are #wordpress and #wordpress-dev, on irc.freenode.net. if you think you might be interested in writing a chapter or section. I’m going to be leaning on many of you, the experienced coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. developers and plugin developers.

  • Section 1: Before you code

    Introduction
    Explaining the structure, organization, purpose and how to use the handbook
    Languages of WP
    Explaing how each of the languages of WP is used and where to find out more information about each
    Planning your Plugin
    Setting the scope of the plugin, organizing files, and planning for how to make your plugin scale and grow
    Development enviroment
    Explaining the importance of using a development environment and share links to gain more information.
    Development Process
    The process of developing a plugin from idea to release
    How to Get Help
    A summary of the community resources (IRC, Forums, Mailing lists) available
    Version Control
    The importance of using VC and links to information on some of the more popular choices (SVNSVN Subversion, the popular version control system (VCS) by the Apache project, used by WordPress to manage changes to its codebase., GITGit Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. https://git-scm.com/., HG).
  • Section 2: Coding Plugins:

    Coding Standards
    The WP coding standards and the importance of name spacing / other best practices
    WP Coding Philosophy
    Integrating the philosophies of WP into your plugin(Easy to use UIUI User interface, extendable and changeable, options are bad)
    Actions and Filters
    How to interact with the options and filters already in WP, and also how to add and use them in your plugin
    Security / Data Validation
    How to not make your self look bad and cause harm/ annoyance to users
    Pluggable Functions
    How / when to override functions (and what functions are pluggable)
    Translations
    How to make your plugin translatable and assist translators
    Keeping your plugin consistent with the WP UI/UX
    Style Guide and other UI/UXUX User experience things to look for
    Inline Documentation
    Why and how to write inline documentation
    What to do if you think you encountered a bug
    How to report a suspected bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority.
  • Section 3: Data Structures / Data Storage

    Overview of the data structures of WP
    Custom Post Types
    Custom Taxonomies
    Custom FIelds
    Comments (and comment meta)
    Users
  • Sec 4: WP Api’s

    These will all follow a similar format to keep it consistent: PTUCER

    • Philosophy – why this api exists
    • Terms – The phrases and words used in this APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. that you need to know
    • usage – The functions available
    • cautions – things to watch out for and think about
    • examples – Specific examples (preferably from actual plugins or core) of how to implement this
    • resources – external links and other similar topics}
    Plugin Activation and Removal
    Short Codes
    Widgets
    AJAX
    Roles / Capabilities / Users
    Options / Settings
    Dashboard Widgets
    Admin Notices
    Scripts and Styles
    Transients
    Caching
    psuedo cron / scheduled events
    Remote URLs
    Atom / RSS
    Oembeds
    ‘post’ Metaboxes
    Tiny MCE
    Adding pages to the Admin
    Contexual Help
    WP_Rewrite
  • Section 5: After you Code

    Documentation
    Writing documentation for you users
    Adding your plugin to the extend directory
    Requirments to be listed and steps to make it happen
    Plugin Header
    The structure and fields available for plugin headers.
    Supporting / Maintaining your plugin
    How to provide support and help users after you have released your plugin

#3-org, #handbooks, #plugins