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.

Continue reading

#3-org, #handbooks, #plugins

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

Plugin authors can now change the “Reso…

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 authors can now change the “Resolved” status on support topics made about their plugins on .org.

Note: This only works when the topic is made from the plugins area, using the “Got something to say? Need help? Write a new topic.” link at the bottom of the plugins screen. Topics that are simply manually tagged with the name of the plugin won’t work.

Mods and higher can still change the resolved status on any topic, as always. So you may not be able to see this change easily. 🙂

#plugin-directory, #plugins, #resolved, #support

I just moved WP.org plugins SVN and Trac…

I just moved WP.org plugins SVNSVN Subversion, the popular version control system (VCS) by the Apache project, used by WordPress to manage changes to its codebase. and TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. to a new server. What does this mean for you?

1) If your DNS resolver doesn’t honor TTLs, you may see a “down” message for http://plugins.trac.wordpress.org and you may get an error message when committing to http://plugins.svn.wordpress.org

2) CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. WP trac shouldn’t be so slow anymore. About 80% of the resources on the server were being used by plugins core + trac. I plan on moving core WP trac to a new server soon-ish, but in the mean time, it should be much snappier.

3) The SVN server version is now 1.5 instead of 1.4 (yes, I know – still behind. May upgrade later)

4) I may have completely broken something 🙂 I don’t think I have, but if you find plugins SVN or trac completely broken, please let me know here!

#infrastructure, #plugins, #svn, #trac

The plugins management page has been ove…

The plugins management page has been overhauled to better match other management pages. There are status filters for All, Active, Recently Active, Inactive, and Update Available. There’s also search and paging with a screen option for setting the number of plugins to show per page.

#plugins, #ui

New API that allows plugins to add secti …

New 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 allows plugins to add sections and fields to settings pages and register new settings along with sanitization callbacks. add_settings_section(), add_settings_field(), register_setting(), unregister_setting()

#api, #plugins, #settings

The first cut of the plugin installer is …

The first cut of the plugin installer is in trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision.

#install, #plugins

With the help of AaronCampbell, the shor …

With the help of AaronCampbell, the shortcodeShortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. issues have been fixed in a flexible way. Now add_shortcode() takes a third (optional) parameter that allows you to have your shortcode be expanded after wpautop() and texturize() are run. Default is before for compatibility with 2.5. For “blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.-level” shortcodes, you should probably make them run after. For “inline” shortcodes, you should probably make them run before.

Update: We went a different way with this, for the time being. Â Now everything runs at 11, but shortcodes with a buffer line separating them from other content will be recognized as block level and won’t get paragraph-wrapped.

#bugs, #plugins, #shortcodes

TinyMCE, media uploader, and plugin upda …

TinyMCE, media uploader, and 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 updater fixes along with a slew of smaller 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. fixes.

#media, #plugins, #tinymce, #upload

Mike landed the Plugins dashboard widget …

Mike landed the Plugins dashboard widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user..

#dashboard, #plugins, #ui, #widgets