Contenu connexe Similaire à Creating and Maintaining WordPress Plugins (20) Plus de 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