View
213
Download
0
Embed Size (px)
Citation preview
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 adminhttp://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 actionadd_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