Publishing a Plugin on WordPress.org

Publishing a Plugin on WordPress.org

How do you get a plugin onto the WordPress.org repository? What steps do you need to take? Are there any specific requirements? These are just some of the questions this talk, aimed at anyone who wants to push a plugin to the WordPress.org repository will answer. We will go through the steps you need to take in order to prepare your plugin, some best practices in the plugin code and how to submit it to .org.

31af50af29856a3e6734bdae0a0d68cf?s=128

Mark Wilkinson

April 14, 2016
Tweet

Transcript

  1. PUBLISHING A PLUGIN on wordpress.org Mark Wilkinson | markwilkinson.me |

    @wpmark highrise.digital
  2. Mark Wilkinson Developer & Co-founder at Highrise Digital https://highrise.digital https://markwilkinson.me

    Twitter: @wpmark
  3. WHY? PREPARATION SUBMISSION AFTERCARE

  4. WHY? PREPARATION SUBMISSION AFTERCARE

  5. WHY? PREPARATION SUBMISSION AFTERCARE

  6. WHY? PREPARATION SUBMISSION AFTERCARE

  7. None
  8. ASSUMPTIONS

  9. WHY?

  10. None
  11. None
  12. None
  13. None
  14. DEVELOPER DEVELOPMENT

  15. UPDATES

  16. “You’re brave!”

  17. DEVELOPMENT WHERE WILL IT HAPPEN?

  18. Coding Standards https://make.wordpress.org/core/handbook/best-practices/coding-standards/ https://upload.wikimedia.org/wikipedia/commons/1/1a/Code.jpg

  19. EXTENSIBILITY do_action() / apply_filters() wordpress.tv/2014/08/29/mark-wilkinson-easy-extensible-plugins/

  20. SANITIZE & VALIDATE wp_kses( $string, $allowed_html, $allowed_protocols ) esc_html( $text

    ) / esc_url( $url ) / esc_attr( $attr ) $wpdb->insert( $table, (array) $data )
  21. EXAMPLE <input type=“text” name=“title” value=“” />

  22. EXAMPLE <input type=“text” name=“title” value=“” /> $title = sanitize_text_field( $_POST[

    ‘title’ ] ); update_post_meta( $post_id, ‘my_title’, $title );
  23. EXAMPLE <input type=“text” name=“title” value=“” /> $title = sanitize_text_field( $_POST[

    ‘title’ ] ); update_post_meta( $post_id, ‘my_title’, $title ); $title = get_post_meta( $post->ID, ‘my_title’, true ); <h1><?php echo esc_html( $title ); ?></h1>
  24. define( 'WP_DEBUG', true );

  25. https://www.flickr.com/photos/lendingmemo/11702409583

  26. assets/icon-128x128.(png|jpg)

  27. assets/icon-128x128.(png|jpg) assets/banner-772x250.(jpg|png)

  28. assets/banner-772x250.(jpg|png) assets/icon-128x128.(png|jpg) assets/screenshot-1.(jpg|png)

  29. readme.txt https://wordpress.org/plugins/about/readme.txt https://wordpress.org/plugins/about/validator/ Contributors: wpmarkuk, highrisedigital Donate link: http://markwilkinson.me/saythanks/ Tags:

    users, user switching Requires at least: 3.1 Tested up to: 4.4 Stable tag: 1.0.6 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html
  30. None
  31. SUBMIT TO .ORG

  32. https://wordpress.org/plugins/add/

  33. None
  34. SVN

  35. svn co https:// plugins.svn.wordpress.org/your- plugin-name

  36. assets/ branches/ tags/ trunk/

  37. svn add trunk/*

  38. svn ci -m ’Commit message here'

  39. SUPPORT

  40. 1.  Must be compatible with the GNU General Public License

    v2, or later 2.  Must not do anything illegal, or be morally offensive 3.  You have to actually use the Subversion repository we give you 4.  The plugin must not embed external links on the public site (like a "powered by" link) without explicitly asking the user's permission. 5.  If you don’t specify a compatible license, what you check in is considered GPLv2 or later. 6.  We also have a large list of detailed guidelines, but mostly they say how not to be a spammer. FOLLOW THE RULES
  41. 1.  Must be compatible with the GNU General Public License

    v2, or later 2.  Must not do anything illegal, or be morally offensive 3.  You have to actually use the Subversion repository we give you 4.  The plugin must not embed external links on the public site (like a "powered by" link) without explicitly asking the user's permission. 5.  If you don’t specify a compatible license, what you check in is considered GPLv2 or later. 6.  We also have a large list of detailed guidelines, but mostly they say how not to be a spammer. FOLLOW THE RULES
  42. 1.  Must be compatible with the GNU General Public License

    v2, or later 2.  Must not do anything illegal, or be morally offensive 3.  You have to actually use the Subversion repository we give you 4.  The plugin must not embed external links on the public site (like a "powered by" link) without explicitly asking the user's permission. 5.  If you don’t specify a compatible license, what you check in is considered GPLv2 or later. 6.  We also have a large list of detailed guidelines, but mostly they say how not to be a spammer. FOLLOW THE RULES
  43. 1.  Must be compatible with the GNU General Public License

    v2, or later 2.  Must not do anything illegal, or be morally offensive 3.  You have to actually use the Subversion repository we give you 4.  The plugin must not embed external links on the public site (like a "powered by" link) without explicitly asking the user's permission. 5.  If you don’t specify a compatible license, what you check in is considered GPLv2 or later. 6.  We also have a large list of detailed guidelines, but mostly they say how not to be a spammer. FOLLOW THE RULES
  44. 1.  Must be compatible with the GNU General Public License

    v2, or later 2.  Must not do anything illegal, or be morally offensive 3.  You have to actually use the Subversion repository we give you 4.  The plugin must not embed external links on the public site (like a "powered by" link) without explicitly asking the user's permission. 5.  If you don’t specify a compatible license, what you check in is considered GPLv2 or later. 6.  We also have a large list of detailed guidelines, but mostly they say how not to be a spammer. FOLLOW THE RULES
  45. 1.  Must be compatible with the GNU General Public License

    v2, or later 2.  Must not do anything illegal, or be morally offensive 3.  You have to actually use the Subversion repository we give you 4.  The plugin must not embed external links on the public site (like a "powered by" link) without explicitly asking the user's permission. 5.  If you don’t specify a compatible license, what you check in is considered GPLv2 or later. 6.  We also have a large list of detailed guidelines, but mostly they say how not to be a spammer. FOLLOW THE RULES
  46. Twitter: @wpmark Web: https://highrise.digital Email: mark@highrise.digital Developer & Co-founder at

    Highrise Digital Thank you Questions?