Creating Wordpress Plugins - East Toronto Web Design Meetup

advertisement
Creating Wordpress Plugins
Who is Here?
• PHP GTA Meetup
• Wordpress Toronto Meetup
• East Toronto Web Design Meetup
About Me – Peter Meth
•
•
•
•
•
Degree in Computer Science
Full time web application developer
Also do websites, hosting, consulting
PHP, MySQL, HTML, CSS, Javascript
Wordpress, Joomla
What is Wordpress?
• Most popular Blogging System in the
World
• Most popular Content Management
System in the World
• Used by 13% of the world's top million
websites
• It’s free and Open Source
What is a Plugin?
• Add functionality without changing core
files
• Use Wordpress API to interact with
Wordpress
• Not overwritten when Wordpress gets
updated
• 13,000+ Free Plugins on Wordpress.org
• Commercial Plugins also available
Why Create Plugins for Wordpress?
• Add functionality for existing Wordpress
users
• Take advantage of Wordpress security,
stability, infrastructure, templates
• Exposure to a huge userbase
• You may have your own reasons
Naming & File Structure
• Give your plugin a unique name
• Create a main php file
• You can create your own directory
structure
• gets installed in plugins directory:
– {pathtowordpress}/wp-content/plugins/
Standard Header
<?php
/*
Plugin Name: Name Of The Plugin
Description: A brief description of
the Plugin.
..
..
*/
?>
Activating Your Plugin
• Copy all files to
– {pathtowordpress}/wp-content/plugins/
• Load the wordpress admin
http://www.yoursite.com/wordpress/wp-admin
• go to the Plugins menu, click Activate
• Let’s have a look...
Filters
• Filters change text as it gets written or
processed
• add_filter('hook_name','myfilter')
function myfilter($content) {
...
return $content;
}
http://codex.wordpress.org/Plugin_API#Filters
• Let’s have a look...
Actions
• Actions are the steps that Wordpress
takes to create a page
• add_action('hook_name','myaction')
function myaction() {
...
}
http://codex.wordpress.org/Plugin_API#Actions
Creating a Menu
• Create a new function
• call add_menu_page(..) within it
• add your function to the admin_menu
action
add_action('admin_menu','mymenu');
• use if(is_admin()) for safety
• Let’s have a look...
Creating a Settings Page
•
•
•
•
•
•
Create a function that outputs a form
In the form set action=“options.php”
call settings_fields(..) inside your form
register your fields register_setting(..)
use get_option(..) to retrieve values
Let’s have a look...
Other Ways to Manage Data
• Create your own tables and forms
• Use Wordpress built in Options
mechanism
• Use Custom Fields mechanism to add
fields to Posts
• Beyond Scope of this presentation
Want More Information?
• http://wordpress.org/extend/plugins
• http://codex.wordpress.org
• http://www.lynda.com
– (paid videos)
• http://www.wpplugins.com
– (commercial plugins)
• B2Template plugin by Dan Imbrogno
Questions & Answers
Download