SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
The first steps…
• Pre‐development issues
      – Wordpress Plugin Directory
      – Plugin and File Names
      – File Headers
• Wordpress Plugin Hooks 
      – Actions 
      – Filters
• Adding data to wordpress database
      – Creating tables with plugins
• Adding Administration Menus
      – Creating options page
• “Hello Dolly” example
                       Wordpress Plugin Development ‐ A Short 
11/10/2008                                                       2
                                      Tutorial
Pre‐development issues (1)
Wordpress Plugin Directory 
                                                                  code



                                                                  javascript



wp‐content    plugins             your plugin
                                                                  css



                           place your plugin here                 images



                        Wordpress Plugin Development ‐ A Short 
 11/10/2008                                                                    3
                                       Tutorial
Pre‐development issues (2)
Plugin and File Names

Choose  your  plugin’s name  carefully.  Think  about 
what the plugin will do, and make a, hopefully unique, 
name for it. 


It is good for the names of your php files to be derived 
from your chosen plugin name.




                         Wordpress Plugin Development ‐ A Short 
  11/10/2008                                                       4
                                        Tutorial
Pre‐development issues (3)
File Headers




               Wordpress Plugin Development ‐ A Short 
 11/10/2008                                              5
                              Tutorial
Wordpress Plugin Hooks (1)
Hooks are provided to allow your plugin to 'hook into' the rest
of WordPress; that is, to call functions in your plugin at specific
times, and thereby set your plugin in motion.




                                                                 Hooks




                       Wordpress Plugin Development ‐ A Short 
11/10/2008                                                               6
                                      Tutorial
Wordpress Plugin Hooks (2)
Hooks = Actions + Filters
Actions are triggered by specific events (e.g. publishing a
post ) that take place in WordPress. Your plugin can respond
to the event by executing a PHP function




         Action                                                Event
                     Wordpress Plugin Development ‐ A Short 
 11/10/2008                                                            7
                                    Tutorial
Wordpress Plugin Hooks (3)
Hooks = Actions + Filters
                  Filters - Functions




                               DATA


Filters are functions that WordPress passes data through
at certain points in execution, just before taking some
action with the data such as adding it to the database or
sending it to the browser screen.
                    Wordpress Plugin Development ‐ A Short 
 11/10/2008                                                   8
                                   Tutorial
Adding data to Wordpress database
Create tables with plugins
There are two types of information you could store
• Setup Information: user choices that are entered when the user first sets up
your plugin.
• Data: information that is added as the user continues to use your plugin

Steps…
1. Write a PHP function that creates the table.
2. Ensure that WordPress calls the function when the plugin is activated.
3. Create an upgrade function, if a new version of your plugin needs to have a
   different table structure.


http://codex.wordpress.org/Creating_Tables_with_Plugins#Create_Database_Tables
                              Wordpress Plugin Development ‐ A Short 
  11/10/2008                                                                     9
                                             Tutorial
A simple example
$table_name = $wpdb->prefix . quot;liveshoutboxquot;;

// check if there is a table with the same name
if($wpdb->get_var(quot;show tables like '$table_name'quot;) != $table_name) {


// SQL Statement
$sql = quot;CREATE TABLE quot; . $table_name . quot; (
id mediumint(9) NOT NULL AUTO_INCREMENT,
time bigint(11) DEFAULT '0' NOT NULL,
name tinytext NOT NULL,
text text NOT NULL,
url VARCHAR(55) NOT NULL,
UNIQUE KEY id (id)
);quot;;


// Creating the table
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
A simple example
$welcome_name = quot;Mr. Wordpressquot;;
$welcome_text = quot;Congratulations, you just completed the installation!quot;;

// SQL Statememt
$insert = quot;INSERT INTO quot; . $table_name .
quot; (time, name, text) quot; .
quot;VALUES ('quot; . time() . quot;','quot; . $wpdb->escape($welcome_name) . quot;','quot; . $wpdb->escape($welcome_text) .
      quot;')quot;;

// Adding Data into the table
$results = $wpdb->query( $insert );
Adding Administration Menus
 Create options page
Top-level menus: Settings, Manage, Plugins, Presentation, Write, Users


Admin Menu Functions
• add_menu_page: create a top-level menu
• add_submenu_page: define one or more sub-menu pages
In the above wordpress functions the developers defined the name of their php
functions which are responsible to build the options pages.
See an example here
http://codex.wordpress.org/Creating_Options_Pages



                             Wordpress Plugin Development ‐ A Short 
  11/10/2008                                                                    12
                                            Tutorial
Hello Dolly example



Hello Dolly Lyrics             Chose randomly one lyric and place it
                               the upper right of your Administation
                               panels


              add_action('admin_footer', 'hello_dolly');


                          Wordpress Plugin Development ‐ A Short 
 11/10/2008                                                         13
                                         Tutorial
Wordpress Development Community
                                  Are you ready to enter into an
                                  evolving development community?




             Wordpress Plugin Development ‐ A Short 
11/10/2008                                                     14
                            Tutorial
Matt Mullenweg
Creator of Wordpress.org


                                  14th place
                                  The 25 most influential
                                  people on the web
                                  (2008)


               Wordpress Plugin Development ‐ A Short 
11/10/2008                                               15
                              Tutorial
More details on the internet…
                     The truth is out there…

http://codex.wordpress.org/Writing_a_Plugin#WordPress_Plugin_Hooks
http://codex.wordpress.org/Plugin_API
http://codex.wordpress.org/Creating_Tables_with_Plugins
http://codex.wordpress.org/Adding_Administration_Menus




                         Wordpress Plugin Development ‐ A Short 
  11/10/2008                                                         16
                                        Tutorial
THE END


             Thank you!

             Wordpress Plugin Development ‐ A Short 
11/10/2008                                             17
                            Tutorial

Más contenido relacionado

La actualidad más candente

What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...
What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...
What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...
Simplilearn
 
Self healing test automation with Healenium and Minimization of regression su...
Self healing test automation with Healenium and Minimization of regression su...Self healing test automation with Healenium and Minimization of regression su...
Self healing test automation with Healenium and Minimization of regression su...
Dmitriy Gumeniuk
 

La actualidad más candente (20)

REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with Spring
 
Spring boot
Spring bootSpring boot
Spring boot
 
Connecting Connect with Spring Boot
Connecting Connect with Spring BootConnecting Connect with Spring Boot
Connecting Connect with Spring Boot
 
Spring Framework - Spring Security
Spring Framework - Spring SecuritySpring Framework - Spring Security
Spring Framework - Spring Security
 
Spring Framework - Data Access
Spring Framework - Data AccessSpring Framework - Data Access
Spring Framework - Data Access
 
Selenium
SeleniumSelenium
Selenium
 
An Introduction to JUnit 5 and how to use it with Spring boot tests and Mockito
An Introduction to JUnit 5 and how to use it with Spring boot tests and MockitoAn Introduction to JUnit 5 and how to use it with Spring boot tests and Mockito
An Introduction to JUnit 5 and how to use it with Spring boot tests and Mockito
 
Java Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Java Spring framework, Dependency Injection, DI, IoC, Inversion of ControlJava Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Java Spring framework, Dependency Injection, DI, IoC, Inversion of Control
 
Spring boot
Spring bootSpring boot
Spring boot
 
Selenium Maven With Eclipse | Edureka
Selenium Maven With Eclipse | EdurekaSelenium Maven With Eclipse | Edureka
Selenium Maven With Eclipse | Edureka
 
Spring - Part 2 - Autowiring, Annotations, Java based Configuration - slides
Spring - Part 2 - Autowiring, Annotations, Java based Configuration - slidesSpring - Part 2 - Autowiring, Annotations, Java based Configuration - slides
Spring - Part 2 - Autowiring, Annotations, Java based Configuration - slides
 
TestNG Framework
TestNG Framework TestNG Framework
TestNG Framework
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
Api testing
Api testingApi testing
Api testing
 
Net 6 的 blazor 開發新視界
Net 6 的 blazor 開發新視界Net 6 的 blazor 開發新視界
Net 6 的 blazor 開發新視界
 
Introduction to APIs & how to automate APIs testing with selenium web driver?
Introduction to APIs & how to automate APIs testing with selenium web driver?Introduction to APIs & how to automate APIs testing with selenium web driver?
Introduction to APIs & how to automate APIs testing with selenium web driver?
 
What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...
What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...
What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...
 
Self healing test automation with Healenium and Minimization of regression su...
Self healing test automation with Healenium and Minimization of regression su...Self healing test automation with Healenium and Minimization of regression su...
Self healing test automation with Healenium and Minimization of regression su...
 
Building a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring BootBuilding a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring Boot
 

Similar a Wordpress Plugin Development Short Tutorial

Microsoft WebMatrix Platform Overview
Microsoft WebMatrix Platform OverviewMicrosoft WebMatrix Platform Overview
Microsoft WebMatrix Platform Overview
Spiffy
 
WebFest 2011 WebMatrix Overview by Gavin Warrener
WebFest 2011 WebMatrix Overview by Gavin WarrenerWebFest 2011 WebMatrix Overview by Gavin Warrener
WebFest 2011 WebMatrix Overview by Gavin Warrener
Spiffy
 
FSOSS - Take the red pill and enter the Matrix
FSOSS - Take the red pill and enter the MatrixFSOSS - Take the red pill and enter the Matrix
FSOSS - Take the red pill and enter the Matrix
Frédéric Harper
 

Similar a Wordpress Plugin Development Short Tutorial (20)

Advanced WordPress Optimization - iGaming Supershow 2012
Advanced WordPress Optimization - iGaming Supershow 2012Advanced WordPress Optimization - iGaming Supershow 2012
Advanced WordPress Optimization - iGaming Supershow 2012
 
<Head> Presentation: Plugging Into Wordpress
<Head> Presentation: Plugging Into Wordpress<Head> Presentation: Plugging Into Wordpress
<Head> Presentation: Plugging Into Wordpress
 
Developers, Be a Bada$$ with WP-CLI
Developers, Be a Bada$$ with WP-CLIDevelopers, Be a Bada$$ with WP-CLI
Developers, Be a Bada$$ with WP-CLI
 
Microsoft WebMatrix Platform Overview
Microsoft WebMatrix Platform OverviewMicrosoft WebMatrix Platform Overview
Microsoft WebMatrix Platform Overview
 
Security, more important than ever!
Security, more important than ever!Security, more important than ever!
Security, more important than ever!
 
Wordpress
WordpressWordpress
Wordpress
 
Word press, the automated way
Word press, the automated wayWord press, the automated way
Word press, the automated way
 
WebFest 2011 WebMatrix Overview by Gavin Warrener
WebFest 2011 WebMatrix Overview by Gavin WarrenerWebFest 2011 WebMatrix Overview by Gavin Warrener
WebFest 2011 WebMatrix Overview by Gavin Warrener
 
WordPress Optimization & Security - LAC 2013, London
WordPress Optimization & Security - LAC 2013, LondonWordPress Optimization & Security - LAC 2013, London
WordPress Optimization & Security - LAC 2013, London
 
Mastering WordPress Vol.1
Mastering WordPress Vol.1Mastering WordPress Vol.1
Mastering WordPress Vol.1
 
Plugin Development Practices
Plugin Development PracticesPlugin Development Practices
Plugin Development Practices
 
Wordpress as a framework
Wordpress as a frameworkWordpress as a framework
Wordpress as a framework
 
FSOSS - Take the red pill and enter the Matrix
FSOSS - Take the red pill and enter the MatrixFSOSS - Take the red pill and enter the Matrix
FSOSS - Take the red pill and enter the Matrix
 
Basic Wordpress PPT
Basic Wordpress PPT Basic Wordpress PPT
Basic Wordpress PPT
 
WordPress basic fundamental of plugin development and creating shortcode
WordPress basic fundamental of plugin development and creating shortcodeWordPress basic fundamental of plugin development and creating shortcode
WordPress basic fundamental of plugin development and creating shortcode
 
Wordpress customer support
Wordpress customer support Wordpress customer support
Wordpress customer support
 
How to Create WordPress Website in Easy Steps
How to Create WordPress Website in Easy StepsHow to Create WordPress Website in Easy Steps
How to Create WordPress Website in Easy Steps
 
Amazing WordPress & Productivity Tips
Amazing WordPress & Productivity TipsAmazing WordPress & Productivity Tips
Amazing WordPress & Productivity Tips
 
Creating Your First WordPress Plugin
Creating Your First WordPress PluginCreating Your First WordPress Plugin
Creating Your First WordPress Plugin
 
WordCamp Belfast DevOps for Beginners
WordCamp Belfast DevOps for BeginnersWordCamp Belfast DevOps for Beginners
WordCamp Belfast DevOps for Beginners
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Wordpress Plugin Development Short Tutorial

  • 1.
  • 2. The first steps… • Pre‐development issues – Wordpress Plugin Directory – Plugin and File Names – File Headers • Wordpress Plugin Hooks  – Actions  – Filters • Adding data to wordpress database – Creating tables with plugins • Adding Administration Menus – Creating options page • “Hello Dolly” example Wordpress Plugin Development ‐ A Short  11/10/2008 2 Tutorial
  • 3. Pre‐development issues (1) Wordpress Plugin Directory  code javascript wp‐content plugins your plugin css place your plugin here images Wordpress Plugin Development ‐ A Short  11/10/2008 3 Tutorial
  • 4. Pre‐development issues (2) Plugin and File Names Choose  your  plugin’s name  carefully.  Think  about  what the plugin will do, and make a, hopefully unique,  name for it.  It is good for the names of your php files to be derived  from your chosen plugin name. Wordpress Plugin Development ‐ A Short  11/10/2008 4 Tutorial
  • 5. Pre‐development issues (3) File Headers Wordpress Plugin Development ‐ A Short  11/10/2008 5 Tutorial
  • 6. Wordpress Plugin Hooks (1) Hooks are provided to allow your plugin to 'hook into' the rest of WordPress; that is, to call functions in your plugin at specific times, and thereby set your plugin in motion. Hooks Wordpress Plugin Development ‐ A Short  11/10/2008 6 Tutorial
  • 7. Wordpress Plugin Hooks (2) Hooks = Actions + Filters Actions are triggered by specific events (e.g. publishing a post ) that take place in WordPress. Your plugin can respond to the event by executing a PHP function Action Event Wordpress Plugin Development ‐ A Short  11/10/2008 7 Tutorial
  • 8. Wordpress Plugin Hooks (3) Hooks = Actions + Filters Filters - Functions DATA Filters are functions that WordPress passes data through at certain points in execution, just before taking some action with the data such as adding it to the database or sending it to the browser screen. Wordpress Plugin Development ‐ A Short  11/10/2008 8 Tutorial
  • 9. Adding data to Wordpress database Create tables with plugins There are two types of information you could store • Setup Information: user choices that are entered when the user first sets up your plugin. • Data: information that is added as the user continues to use your plugin Steps… 1. Write a PHP function that creates the table. 2. Ensure that WordPress calls the function when the plugin is activated. 3. Create an upgrade function, if a new version of your plugin needs to have a different table structure. http://codex.wordpress.org/Creating_Tables_with_Plugins#Create_Database_Tables Wordpress Plugin Development ‐ A Short  11/10/2008 9 Tutorial
  • 10. A simple example $table_name = $wpdb->prefix . quot;liveshoutboxquot;; // check if there is a table with the same name if($wpdb->get_var(quot;show tables like '$table_name'quot;) != $table_name) { // SQL Statement $sql = quot;CREATE TABLE quot; . $table_name . quot; ( id mediumint(9) NOT NULL AUTO_INCREMENT, time bigint(11) DEFAULT '0' NOT NULL, name tinytext NOT NULL, text text NOT NULL, url VARCHAR(55) NOT NULL, UNIQUE KEY id (id) );quot;; // Creating the table require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); dbDelta($sql);
  • 11. A simple example $welcome_name = quot;Mr. Wordpressquot;; $welcome_text = quot;Congratulations, you just completed the installation!quot;; // SQL Statememt $insert = quot;INSERT INTO quot; . $table_name . quot; (time, name, text) quot; . quot;VALUES ('quot; . time() . quot;','quot; . $wpdb->escape($welcome_name) . quot;','quot; . $wpdb->escape($welcome_text) . quot;')quot;; // Adding Data into the table $results = $wpdb->query( $insert );
  • 12. Adding Administration Menus Create options page Top-level menus: Settings, Manage, Plugins, Presentation, Write, Users Admin Menu Functions • add_menu_page: create a top-level menu • add_submenu_page: define one or more sub-menu pages In the above wordpress functions the developers defined the name of their php functions which are responsible to build the options pages. See an example here http://codex.wordpress.org/Creating_Options_Pages Wordpress Plugin Development ‐ A Short  11/10/2008 12 Tutorial
  • 13. Hello Dolly example Hello Dolly Lyrics Chose randomly one lyric and place it the upper right of your Administation panels add_action('admin_footer', 'hello_dolly'); Wordpress Plugin Development ‐ A Short  11/10/2008 13 Tutorial
  • 14. Wordpress Development Community Are you ready to enter into an evolving development community? Wordpress Plugin Development ‐ A Short  11/10/2008 14 Tutorial
  • 15. Matt Mullenweg Creator of Wordpress.org 14th place The 25 most influential people on the web (2008) Wordpress Plugin Development ‐ A Short  11/10/2008 15 Tutorial
  • 16. More details on the internet… The truth is out there… http://codex.wordpress.org/Writing_a_Plugin#WordPress_Plugin_Hooks http://codex.wordpress.org/Plugin_API http://codex.wordpress.org/Creating_Tables_with_Plugins http://codex.wordpress.org/Adding_Administration_Menus Wordpress Plugin Development ‐ A Short  11/10/2008 16 Tutorial
  • 17. THE END Thank you! Wordpress Plugin Development ‐ A Short  11/10/2008 17 Tutorial