How to Troubleshoot Apps for the Modern Connected Worker
Write Your First WordPress Plugin
1. Write your first WordPress Plugin
Ibrahim Abdel Fattah Mohamed, aka bingorabbit
www.bingorabbit.com
Twitter: @bingorabbit
.. and I HEART WordPress
2. Agenda
● What is a WordPress Plugin?
● Why do I need to write a WordPress Plugin?
● Plugin files structure and headers.
● How to add my plugin to my WordPress Blog.
● How to contribute to WordPress Development?
● Questions..
3. What is a WordPress Plugin?
A piece of code, written to solve a problem or to
add a specific functionality that is not there.
4. Why do I need to write a WordPress Plugin?
● Solving a problem.
● Add new functionality
● You love it, but have a better implementation?
● Modify it, extend it
● Want to make money?
5. How can I write a plugin?
● Find a problem you need to solve, or
something new to add.
● Warm your hands.
● Choose a descriptive name.
● Document every little thing.
● Think about the license.
● Then start coding it..
7. Headers
<?php
/*
Plugin Name: Your desired name
Plugin URI: http://path.to/plugin/
Description: What does it actually do?
Version: x.Y
Author: This should be you
Author URI: http://path.to/you/
*/
?>
8. Hooks
● Hooks are just..hooks..
● Used to attach your plugin to a working system.
● Two types of Hook; Actions and Filters
9. Actions
● Actions, are just actions..
● Actions triggers an event or a function.
● When a post is published (action), send an email
to the administrator (function, event or reaction).
add_action('hook_name',
'your_function_name', [priority],
[accepted_args]);
10. Filters
Database/User <----> Filters <----> Data
● Filters are also just..Filters..
● Example, add some text just after every post.
add_filter('hook_name',
'your_function_name', [priority],
[accepted_args]);
14. Why?
● Improve the software you use..
● Being a part of the community, learning and
experience.
15. Where?
● Documentation, aka Codex (
http://codex.wordpress.org/Codex:Contributing)
● Translation (
http://codex.wordpress.org/Translating_WordPress)
● Support Forum (http://www.wordpress.org/support)
● IRC Channel (#WordPress-dev on Freenode)
● Development (Next Slide?)
16. How?
● Trac (http://trac.wordpress.org/)
● Code it, refine it, or just test it..
● Got a bug? Go and report it..
http://wordpress.org/development/2009/03/contributing-to-wordpress-part-i-development/