Upload
joey-kudish
View
693
Download
0
Tags:
Embed Size (px)
DESCRIPTION
This is a presentation from WordCamp Victoria 2013 where I show power users and novice developers how to get started with plugin development. I think a lot of people don’t realize how easy it is to get started with plugin development or just how small and simple can be. It doesn’t require 100s of lines of code… Many WordPress tutorials out there talk about copy this or that to your functions.php file in your theme. However, it’s just as easy to create your own functionality plugin; which makes for easier to maintain code in the future that isn’t theme dependant. I begin this talk with the basics of what a plugin is and how it’s structured. I then explain the hooks (actions and filters API), followed by a very simplistic demo. I then give some pro tips and talk about some of the most commonly used WordPress APIs in plugins, as well as promote coding standards. A second more in-depth demo is then presented. Finally, I discuss security in plugins and share some resources for developers and users to further learn from.
Citation preview
Plugin Development
- Joey Kudish
http://slides.jkudish.comFriday, 11 January, 13
About me
• WordPress developer since 2007
• Initially built sites for a variety of clients
• Freelance plugin development
• Code Wrangler at WordPress.com / Automattic
since May 2011
• Originally from Montreal, moved to Vancouver
in 2011
Friday, 11 January, 13
Friday, 11 January, 13
What’s a plugin?
Friday, 11 January, 13
A plugin extends or modi!es WordPress to do something it
didn’t previously do
Friday, 11 January, 13
Themes can act as plugins. Oh and there’s
mu-plugins too.
Friday, 11 January, 13
Plugins can be huge...
Friday, 11 January, 13
... or tiny.Friday, 11 January, 13
What’s in a plugin?
Friday, 11 January, 13
Where does it go?
wp-content/plugins/[plugin_name]or wp-content/mu-plugins/
Friday, 11 January, 13
In order to “hook” into WordPress, we use action and !lter
hooks
Friday, 11 January, 13
Action hooks allow you to add your own code to WordPress’
call stack
Friday, 11 January, 13
Filter hooks allow you to modify an
existing variable or piece of information
Friday, 11 January, 13
Demo time
Friday, 11 January, 13
Let’s add Google Webmaster Tools
veri!cation to our site
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
Finding hooks• WordPress.org Codex (http://
codex.wordpress.org/)
• http://adambrown.info/p/wp_hooks
• Debug Bar + Debug Bar Action Hooks plugin
(http://wordpress.org/extend/plugins/debug-bar-
action-hooks/)
• Search core (use your IDE or a command line
tool like ack)
Friday, 11 January, 13
Some pro tips
Friday, 11 January, 13
Use built-in APIs, don’t re-invent the
wheel
Friday, 11 January, 13
Use WordPress coding standards
Friday, 11 January, 13
Be nice to other devs. Namespace your classes
and functions. Leave hooks for others.
Friday, 11 January, 13
Demo time
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
hey that’s the !le we want to hook into
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
Let’s create our plugin
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
It works, now let’s have some fun
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
Finished plugin
Friday, 11 January, 13
A word on Security
Friday, 11 January, 13
don’t trust users
Friday, 11 January, 13
sanitize input, escape output
http://codex.wordpress.org/Data_Validation
Friday, 11 January, 13
protect users from malicious attacks,
use nonces to validate user actions
http://codex.wordpress.org/WordPress_Nonces
Friday, 11 January, 13
Plugin Distribution
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
Further reading
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
Friday, 11 January, 13
http://www.wrox.com/WileyCDA/WroxTitle/Professional-WordPress-Plugin-Development.productCd-0470916222.html
http://www.packtpub.com/wordpress-plugin-development-cookbook/book
Friday, 11 January, 13
Thanks!
Q&Ahttp://slides.jkudish.com
Friday, 11 January, 13