WordCamp Notes: Lessons Learned Releasing My First WordPress Plugin - Jamie Bergen
September 29, 2018
1. Scratch your own itch
think about pain points for YOU
if you built it, YOU would want to use it
will help you feel invested in the project
"wouldn’t it be nice to have..."
more than 50,000 plugins available for wordpress
old plugins that haven’t been updated in a few years
opportunity to do things in an updated way
things to consider when building a plugin --
tools / techniques
using OOP, keeps conflicts w/ other code low
actions and filters to hook into
jQuery ajax to make a smooth UI
version control - git / svn
xdebug for PHP debugging
linting w/ php code sniffer
security considerations
what skill level does a user need to be to access this plugin
data validation and sanitization
nonces - before you save to d/b, confirm it was coming from the form you EXPECT it to come from
data handling
storage - put it in an existing db table or a custom one?
safe database queries
API uses
working w/ multiple sites?
accessibility?
localization / internationalization?
make sure it works on different operating systems
2. if it's worth doing, it's worth doing BADLY
permission to say "i want to build a thing." mistakes are ok if htey happen
how?
1. adding a new column to the plugins table
3. if you're not uncomfortable, you're not learning
knowthecode.io
wpsessions.com
great resources for building WP plugins and best practices
good video tutorials - process of building a plugin start to finish
WordPress Plugin Handbook
Pippin's Plugins blog
Delicious Brains blog
OOP PHP
WP Plugin boilerplate is really helpful for this
can cut out what you don’t need
good foundation to start
jQuery / ajax
wp_kses() - to filter notes, strip evil scripts
wp_create_nonce()
internationalization -
__(), _e()
esc_html__()
esc_html_e()
mark strings so people can provide translations of strings in your plugin
poedit to create the translation file
how to test the plugin
basics -
does the thing you want it to do
doesn’t do the thing you don’t want it to do
also -
different user roles
diff browsers, operating systems,
multi site, translations, accessibility
ask others to test - encourage them to look for edge cases
not looking for people to compliment you.
consider bribery
want people to BREAK your plugin in new ways you didn't think of
look for edge cases
process for submitting plugin to the repo -
upload plugin as a zip file to wordpress.org/plugins/developers/add
unique slug will be derived form plugin name
go into repo BEFORE you submit to make sure you have a unique slug
reviewers will check for common errors and guideline adherence
they WONT test your plugin to make sure it does what you expect. so your OWN testing is really important
once approved - refer to links provided in the email about using Subversion, readme.txt, and plugin assets
*** bugs will surface at the worst possible times.
wp_normalize_path() - to get consistent file paths between windows and linux servers
** you're going to make mistakes. treat them as learning opportunities
*** you're not going to be able to please everyone
prerequisite for building a plugin:
1. an idea for a plugin
2. the desire to learn to build a plugin
3. the time to do it well
@shoptalkshow - "juist build websites"
podcast?
@jamiebergen
jamiebergen.com