More Related Content Similar to Creating and Maintaining WordPress Plugins Similar to Creating and Maintaining WordPress Plugins (20) More from Mark Jaquith (15) Creating and Maintaining WordPress Plugins1. Creating
and
Mark Jaquith
“JAKE-with”
Maintaining
WordPress
@markjaquith Plugins
mark@jaquith.me
markjaquith.com
13. <?php
/*
Plugin Name: NAME
*/
class CWS_ATL_Plugin {
static $instance;
function __construct() {
self::$instance = $this;
add_action( 'plugins_loaded', array( $this, 'plugins_loaded' ) );
}
function plugins_loaded() {
// Add actions and hooks here
}
}
new CWS_ATL_Plugin;
14. function plugins_loaded() {
add_filter( 'the_title', array( $this, 'the_title' ), 10, 2 );
add_action( 'init', array( $this, 'init' ), 5 );
add_action( 'omg', array( $this, 'is_really_tedious' ), 11, 3 );
}
16. <?php
/*
Plugin Name: NAME
*/
if(!class_exists('CWS_Plugin_v2')){class CWS_Plugin_v2{function hook($h){$p=10;$m=$this-
>sanitize_method($h);$b=func_get_args();unset($b[0]);foreach((array)$b as $a){if(is_int($a))$p=$a;else
$m=$a;}return add_action($h,array($this,$m),$p,999);}private function sanitize_method($m){return
str_replace(array('.','-'),array('_DOT_','_DASH_'),$m);}}}
class CWS_ATL_Plugin extends CWS_Plugin_v2 {
static $instance;
function __construct() {
self::$instance = $this;
$this->hook( 'plugins_loaded' );
}
function plugins_loaded() {
// Add actions and hooks here
}
}
new CWS_ATL_Plugin;
17. // BEFORE
function plugins_loaded() {
add_filter( 'the_title', array( $this, 'the_title' ), 10, 2 );
add_action( 'init', array( $this, 'init' ), 5 );
add_action( 'omg', array( $this, 'is_really_tedious' ), 11, 3 );
}
// AFTER
function plugins_loaded() {
$this->hook( 'the_title' );
$this->hook( 'init', 5 );
$this->hook( 'omg', 'is_really_tedious', 3 );
}
21. const OPTIONS = 'my_plugin_option_name';
function get_option( $key ) {
$options = get_option( self::OPTIONS );
if ( isset( $options[$key] ) )
return $options[$key];
}
function set_option( $key, $value ) {
$options = get_option( self::OPTIONS );
$options[$key] = $value;
update_option( self::OPTIONS, $options );
}
27. svn checkout h p://plugins.svn.wordpress.org/{plugin-name}
Plugin dev loop
{
svn up
{hackity hack hack}
svn add {new-files}
svn commit -m '{Message about your changes}'
30. === Your Plugin ===
Contributors: markjaquith, nacinbot
Donate link: h p://example.com/paypal
Tags: foo, bar
Requires at least: 3.2
Tested up to: 3.3.1
Stable tag: 2.3
Here is a short description of the plugin. This should be no more
than 150 characters. No markup here.
31. 1. Tag in SVN
2. “Repoint” /trunk/readme.txt
32. Support
forums
wordpress.org/support/view/plugin-commi er/USERNAME