Plugin Developer Handbook Planning

I’ve started brainstorming ideas for the 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 and have come up with a pretty long list of topics that I think should be covered. Some of these will be chapters on their own, some will be combined together and others still need to be thought of. For right now, the best feedback you could give me is to tell me what I missed and what you think might be out of scope.

A couple of notes:

  • I tried to include chapters so that both novice and experienced developers will be able use it. Hence ideas such as knowing the difference between the different languages used in WordPress.
  • Some things, while listed, I think will include warnings and language that discourages it. The two that stand out to me are: Custom database tables and Custom Option Pages.

Alright, now for the list:

  • Introduction
  • Languages of WP – Differences between PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher, HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers., CSSCSS Cascading Style Sheets., JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.
  • WP Coding Standards
  • Organizing plugin files
  • Planning your plugin
  • Name Spacing
  • Adding Styles and Scripts
  • Actions / Filters
    • How to use them
    • How to add them to your theme so other plugins can use them
  • Shortcodes
  • Widgets
  • Front End Forms
  • Ajax
    • Front end ajax
    • Back End ajax
  • Roles and Capabilities and users
    • Custom caps
    • User MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress.
  • Comments
    • Comment Meta
    • interacting with comment filters
  • Options
    • Adding options to existing adminadmin (and super admin) pages
    • Adding your own pages
  • transients
  • Translating / Internationalization
  • Custom Taxonomies
  • Custom Post Types
  • Scheduled events (pseudo-cron)
  • Activation / Removal hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.
  • Interacting with the database
    • Adding Tables / interacting with them
  • Security
    • Kses
    • Escaping
    • Capabilities check
    • Nonces – Props Eric
  • Interacting with remote URLs
    • atom / rss
  • Interacting with WP_Query
  • Media
    • Media and Post relations (Send to editor)
  • Modifying / Creating URLs
  • MultiSitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site specific Compatibility
  • General Tips / Tricks / Notes (Ideally a tip or two from many different devs)
  • Adding Admin Notices
  • Giving your plugin the WordPress look (Hopefully the style guide will be finished before then).
  • Pluggable Functions
  • Admin Meta Boxes
  • Dashboard Widgets
  • Extending Tiny MCE
  • A Good Development Environment
  • Development Process

#3-org, #handbooks, #plugins