Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
SUBMITTINGYOURFIRSTPLUGINTOWORDPRESS.ORG
@BostonWP
@aaronware
@linchpin_agency
AARONWARE
PRESIDENT@LINCHPIN
Nearly 20 years as a Web Professional
8ish years using WordPress
(right around WP 2.0)
I lead...
@aaronware
@linchpin_agency
WE’REHIRING!
LINCHPIN.AGENCY/CAREERS
WORDPRESSRI
Join Us!
2nd Tuesday of Every Month at 6:00PM
W o r d P r e s s R I
@WordPressRI #RIWP
COMESEEME@WORDCAMPBOSTON
WORDCAMPRI
September 30th & October 1st
New England Tech East Greenwich Campus
Tickets Now Available!
2016.rhodeisland.wor...
Assumptions
IAMASSUMINGYOUHAVEAPLUGINALREADYBUILT
@bostonwp
ANDWEWILLBE
RETROFITTING+ADJUSTING
OUREXISTINGPLUGIN.
@aaronwa...
Assumptions
IAMASSUMINGYOUHAVE…
@bostonwp
THOUGHTABOUTSECURITY
+INVESTIGATEDTHEWORDPRESSCODINGSTANDARDS
@aaronware
@linchp...
More Tools
@bostonwp
I’LLSHARESOMEUSEFULLINKS
ATTHEEND
IFYOUARESTARTINGFROMSCRATCH
ORNEEDSOMEUSEFULLINKS
@aaronware
@linch...
WHY?
MYFIRSTQUESTION
http://giphy.com/gifs/coca-cola-sad-futbol-noo-qn6rtLtmwIX60
@bostonwp
@aaronware
@linchpin_agency
INACONVOLUTEDSPACE
DOESYOURPLUGINDO
SOMETHINGDIFFERENT?
WHOCARES?
WordPress.org Plugin Repo
WILLINGNESSTOPARTICIPATE
▸ Are you willing to answer questions about your plugin?
▸ Are you will...
WordPress.org Plugin Repo
MORESTUFF
▸ The plugin must not do anything illegal, or be morally offensive (that’s subjective,...
Getting Ready To Rumble
IFYOU’RECOOLWITHTHEPREVIOUSITEMS….
Are you pumped or what?
@bostonwp http://giphy.com/gifs/kids-wa...
LET’SGETTOWORK!
@aaronware
@linchpin_agency
@bostonwp
WHATISGPL?WHYISITREQUIREDANDWHAT
DOESTHATHAVETODOWITHMYPLUGIN?

-BRUCEWILLIS
Aaron Ware
Understanding GPL and how to say G...
WordPress Foundation Stance on GPL
WHATISGPL?
The GPL is a copyleft license, which means that derived works can only be di...
WordPress Foundation Stance on GPL
HOWDOESGPLAFFECTMYPLUGINONWORDPRESS.ORG?
The WordPress Foundation considers all plugins...
readme.txt
THEMOSTUSEFULFILEINYOURENTIREPLUGIN
@bostonwp
https://wordpress.org/plugins/about/readme.txt
@aaronware
@linchp...
DONOTUSETHETAG“PLUGIN”INYOUR
PLUGINSLISTOFTAGS!

-WAYNEGRETZKY
Aaron Ware
Proper Tag Usage
https://wordpress.org/plugins/t...
readme.txt continued…
STARTINGNEW,GETTINGINSPIRATIONORGENERATING
▸ You can manually edit the file shared in the previous s...
readme.txt landing
VALIDATING
▸ https://wordpress.org/plugins/about/validator/ will validate your plugin
readme.txt for fo...
i18n l10n
LOCALIZATION,INTERNATIONALIZATIONANDTRANSLATION
▸ Your plugin can be translation ready in just a few steps
▸ Upd...
i18n l10n
LOCALIZATION,INTERNATIONALIZATIONANDTRANSLATION
▸ An example .pot file based used in translation
https://develop...
Visual Elements
ASSETSFOLDER
The assets/ folder of your plugin will house banners, icons and screenshots of your
plugin. T...
More Info About Assets
IMAGESIZES
▸ Start by creating an assets/ directory in the root of your SVN checkout (if one doesn'...
Initial Plugin Submission
NOTALOTOFREQUIREMENTS
▸ Plugin Name
▸ Plugin Description
▸ A valid .zip of your plugin that
also...
YOURNEW.SVNREPO
After Plugin Approval
SVN(SUBVERSION)
Oldie but Goldie https://wordpress.org/plugins/about/svn/
@aaronware
@linchpin_agency
@bostonwp
Svn And The .Org Repo
MAKINGCOMMITSTOWORDPRESS.ORG
▸ WordPress.org is a plugin host not just a directory. In order to hand...
Svn And The .Org Repo
YOURFIRSTCHECKOUT.PUTTINGTHINGSINTHETRUNK
@aaronware
@linchpin_agency
@bostonwp
Trunk is similar to ...
Svn And The .Org Repo
YOUCAN“TAG”STABLERELEASESTOKEEPORGANIZED
@aaronware
@linchpin_agency
@bostonwp
Svn And The .Org Repo
YOUCANALSOUSEBRANCHESFORDEVELOPMENTASWELL
@aaronware
@linchpin_agency
@bostonwp
▸ This is useful for...
Sharing Is Caring
PROMOTINGYOURPLUGIN
▸ Meet Ups are great for feedback prior to release (or post release)
▸ WordPress Adv...
ONCEYOUHAVEYOURPLUGINONWORDPRESS.ORGCHECKOUTJETPACK.PRO
Useful Things
STARTINGFROMSCRATCHANDMORETOOLS
▸ Pluginception: https://wordpress.org/plugins/pluginception/
▸ generator-wp...
THANKSFORHAVINGME
@bostonwp
@aaronware
@linchpin_agency
AARONWARE
PRESIDENT@LINCHPIN
Nearly 20 years as a Web Professional
8ish years using WordPress
(right around WP 2.0)
I lead...
QUESTIONSANDCOMMENTS
TIME!
@bostonwp
@aaronware
@linchpin_agency
Submitting Your First Plugin to WordPress.org
Upcoming SlideShare
Loading in …5
×

Submitting Your First Plugin to WordPress.org

173 views

Published on

WordPress Boston June 2016 Meetup - Linchpin president Aaron Ware discussed the steps to take your plugin from inception to deployment, along with the process it takes to release it to the community at large.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Submitting Your First Plugin to WordPress.org

  1. 1. SUBMITTINGYOURFIRSTPLUGINTOWORDPRESS.ORG @BostonWP @aaronware @linchpin_agency
  2. 2. AARONWARE PRESIDENT@LINCHPIN Nearly 20 years as a Web Professional 8ish years using WordPress (right around WP 2.0) I lead an awesome team at Linchpin. We have some plugins on WordPress.org One of them I am going to talk about shortly @aware on WordPress.org and on Slack @aaronware on Twitter @bostonwp @aaronware @linchpin_agency
  3. 3. @aaronware @linchpin_agency WE’REHIRING! LINCHPIN.AGENCY/CAREERS
  4. 4. WORDPRESSRI Join Us! 2nd Tuesday of Every Month at 6:00PM W o r d P r e s s R I @WordPressRI #RIWP
  5. 5. COMESEEME@WORDCAMPBOSTON
  6. 6. WORDCAMPRI September 30th & October 1st New England Tech East Greenwich Campus Tickets Now Available! 2016.rhodeisland.wordcamp.org
  7. 7. Assumptions IAMASSUMINGYOUHAVEAPLUGINALREADYBUILT @bostonwp ANDWEWILLBE RETROFITTING+ADJUSTING OUREXISTINGPLUGIN. @aaronware @linchpin_agency
  8. 8. Assumptions IAMASSUMINGYOUHAVE… @bostonwp THOUGHTABOUTSECURITY +INVESTIGATEDTHEWORDPRESSCODINGSTANDARDS @aaronware @linchpin_agency
  9. 9. More Tools @bostonwp I’LLSHARESOMEUSEFULLINKS ATTHEEND IFYOUARESTARTINGFROMSCRATCH ORNEEDSOMEUSEFULLINKS @aaronware @linchpin_agency
  10. 10. WHY? MYFIRSTQUESTION http://giphy.com/gifs/coca-cola-sad-futbol-noo-qn6rtLtmwIX60 @bostonwp @aaronware @linchpin_agency
  11. 11. INACONVOLUTEDSPACE DOESYOURPLUGINDO SOMETHINGDIFFERENT?
  12. 12. WHOCARES?
  13. 13. WordPress.org Plugin Repo WILLINGNESSTOPARTICIPATE ▸ Are you willing to answer questions about your plugin? ▸ Are you willing to fix issues that come up? ▸ Are you open to feature requests? ▸ Are you willing to Open Source your plugin? (It’s required) ▸ Are you open to haters hating? @bostonwp @aaronware @linchpin_agency
  14. 14. WordPress.org Plugin Repo MORESTUFF ▸ The plugin must not do anything illegal, or be morally offensive (that’s subjective, we know). ▸ The plugin must not embed external links on the public site (like a "powered by" link) without explicitly asking the user's permission. ▸ They also have a large list of detailed guidelines, but mostly they say how not to be a spammer. @bostonwp https://wordpress.org/plugins/about/ @aaronware @linchpin_agency
  15. 15. Getting Ready To Rumble IFYOU’RECOOLWITHTHEPREVIOUSITEMS…. Are you pumped or what? @bostonwp http://giphy.com/gifs/kids-warrior-ultimate-DrTJN2J8fzaA8 ▸ Is the Ultimate Warrior even wearing pants? ▸ That kid at the end has a sweet cowboy hat @aaronware @linchpin_agency
  16. 16. LET’SGETTOWORK! @aaronware @linchpin_agency @bostonwp
  17. 17. WHATISGPL?WHYISITREQUIREDANDWHAT DOESTHATHAVETODOWITHMYPLUGIN?
 -BRUCEWILLIS Aaron Ware Understanding GPL and how to say GNU https://www.gnu.org/gnu/pronunciation.en.html @bostonwp @aaronware @linchpin_agency
  18. 18. WordPress Foundation Stance on GPL WHATISGPL? The GPL is a copyleft license, which means that derived works can only be distributed under the same license terms. This is in distinction to permissive free software licenses, of which the BSD licenses and the MIT License are the standard examples. https://en.wikipedia.org/wiki/GNU_General_Public_License https://www.gnu.org/licenses/gpl.html @aaronware @linchpin_agency @bostonwp
  19. 19. WordPress Foundation Stance on GPL HOWDOESGPLAFFECTMYPLUGINONWORDPRESS.ORG? The WordPress Foundation considers all plugins and themes listed on WordPress.org as derivative work of WordPress as such. Plugins and Themes released on on WordPress.org are have the GPLv2 and above license automatically applied to them upload submission to the .org repo. https://wordpress.org/about/license/ ▸ Your plugin must be compatible with the GNU General Public License v2, or any later version. We strongly recommend using the same license as WordPress — “GPLv2 or later.” ▸ If you don’t specify a compatible license, what you check in is considered GPLv2 or later. @aaronware @linchpin_agency @bostonwp
  20. 20. readme.txt THEMOSTUSEFULFILEINYOURENTIREPLUGIN @bostonwp https://wordpress.org/plugins/about/readme.txt @aaronware @linchpin_agency
  21. 21. DONOTUSETHETAG“PLUGIN”INYOUR PLUGINSLISTOFTAGS!
 -WAYNEGRETZKY Aaron Ware Proper Tag Usage https://wordpress.org/plugins/tags/ @aaronware @linchpin_agency @bostonwp
  22. 22. readme.txt continued… STARTINGNEW,GETTINGINSPIRATIONORGENERATING ▸ You can manually edit the file shared in the previous slide. ▸ Get inspiration from some popular plugin’s readme.txt files for examples
 See: https://wordpress.org/plugins/stream/ <— I think it’s a great example ▸ Use Generate WP: https://generatewp.com/plugin-readme/ @aaronware @linchpin_agency @bostonwp
  23. 23. readme.txt landing VALIDATING ▸ https://wordpress.org/plugins/about/validator/ will validate your plugin readme.txt for formatting and quasi markdown validation @aaronware @linchpin_agency @bostonwp
  24. 24. i18n l10n LOCALIZATION,INTERNATIONALIZATIONANDTRANSLATION ▸ Your plugin can be translation ready in just a few steps ▸ Updating your Plugin Header to include a text domain and domain path (optional)
 
 
 
 ▸ Use the WordPress gettext methods for String output of your plugin.
 Think _e(‘hello Dolly’, ‘my-plugin’); vs echo “Hello Dolly”; ▸ Use Poedit, Grunt and Glotpress to allow for translation https://developer.wordpress.org/plugins/internationalization/how-to-internationalize-your-plugin/ https://developer.wordpress.org/reference/functions/load_plugin_textdomain/
  25. 25. i18n l10n LOCALIZATION,INTERNATIONALIZATIONANDTRANSLATION ▸ An example .pot file based used in translation https://developer.wordpress.org/plugins/internationalization/how-to-internationalize-your-plugin/ https://developer.wordpress.org/reference/functions/load_plugin_textdomain/ https://make.wordpress.org/polyglots/handbook/tools/poedit/
  26. 26. Visual Elements ASSETSFOLDER The assets/ folder of your plugin will house banners, icons and screenshots of your plugin. These assets will be displayed within the .org plugins directory and within the WordPress dashboard.
  27. 27. More Info About Assets IMAGESIZES ▸ Start by creating an assets/ directory in the root of your SVN checkout (if one doesn't already exist). This will be on the same level as tags/ and trunk/, for example. ▸ Inside that assets/ directory, you can make a file named banner-772x250.png or banner-772x250.jpg. The image must be exactly 772 pixels wide and 250 pixels tall. No GIFs. ▸ To support high-DPI (aka 'retina') displays, you can additionally make a file named banner-1544x500.png or banner-1544x500.jpg. The image must be exactly 1544 pixels wide and 500 pixels tall. No GIFs. This image, if present, will only be served when the website detects that the viewing browser is on a high-DPI display. Read this feature’s announcement post for more details and special notes about creating this image.
  28. 28. Initial Plugin Submission NOTALOTOFREQUIREMENTS ▸ Plugin Name ▸ Plugin Description ▸ A valid .zip of your plugin that also include a read file ▸ Volunteers do the initial review so be patient @aaronware @linchpin_agency @bostonwp
  29. 29. YOURNEW.SVNREPO After Plugin Approval
  30. 30. SVN(SUBVERSION) Oldie but Goldie https://wordpress.org/plugins/about/svn/ @aaronware @linchpin_agency @bostonwp
  31. 31. Svn And The .Org Repo MAKINGCOMMITSTOWORDPRESS.ORG ▸ WordPress.org is a plugin host not just a directory. In order to handle releases we have to play within the rules of the sand box. ▸ Once created you will use your wordpress.org credentials to also log into your repo ▸ SVN while different in how it works, it is similar to git in that they are both versioning systems. ▸ I wont get into the complexities of mirroring .git to .svn because I’m not an expert. @aaronware @linchpin_agency @bostonwp
  32. 32. Svn And The .Org Repo YOURFIRSTCHECKOUT.PUTTINGTHINGSINTHETRUNK @aaronware @linchpin_agency @bostonwp Trunk is similar to master (in git)
  33. 33. Svn And The .Org Repo YOUCAN“TAG”STABLERELEASESTOKEEPORGANIZED @aaronware @linchpin_agency @bostonwp
  34. 34. Svn And The .Org Repo YOUCANALSOUSEBRANCHESFORDEVELOPMENTASWELL @aaronware @linchpin_agency @bostonwp ▸ This is useful for beta releases. ▸ Also good practice in general. ▸ Personally I only ever use Tags and Trunk ▸ I have a deploy script I wrote in Grunt to create a package for wordpress.org with out off my build scripts
  35. 35. Sharing Is Caring PROMOTINGYOURPLUGIN ▸ Meet Ups are great for feedback prior to release (or post release) ▸ WordPress Advanced Users Group on Facebook ▸ Reaching out to WP Tavern and other online publications ▸ Jetpack.pro @bostonwp @aaronware @linchpin_agency
  36. 36. ONCEYOUHAVEYOURPLUGINONWORDPRESS.ORGCHECKOUTJETPACK.PRO
  37. 37. Useful Things STARTINGFROMSCRATCHANDMORETOOLS ▸ Pluginception: https://wordpress.org/plugins/pluginception/ ▸ generator-wp-make: https://github.com/10up/generator-wp-make ▸ Poedit ▸ Have you checked out the WordPress Coding Standards?
 https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards ▸ What do you guys use? @aaronware @linchpin_agency
  38. 38. THANKSFORHAVINGME @bostonwp @aaronware @linchpin_agency
  39. 39. AARONWARE PRESIDENT@LINCHPIN Nearly 20 years as a Web Professional 8ish years using WordPress (right around WP 2.0) I lead the awesome team at Linchpin. We have some plugins on WordPress.org One of them I am going to talk about shortly @aware on WordPress.org and on Slack @aaronware on Twitter @bostonwp @aaronware @linchpin_agency
  40. 40. QUESTIONSANDCOMMENTS TIME! @bostonwp @aaronware @linchpin_agency

×