speech wordcamp 2010 - giovambattista fazioli
DESCRIPTION
Slide dello speech di Giovambattista Fazioli al Wordcamp 2010. Wordpress Plugins: pillole di sviluppo, tips and tricks.TRANSCRIPT
![Page 1: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/1.jpg)
sabato 22 maggio 2010
![Page 2: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/2.jpg)
WordpressPillole di sviluppo tips & tricks
WordCamp - Milano 22 Maggio 2010
Giovambattista Fazioli - CTO Saidmade Srl
http://www.saidmade.com
sabato 22 maggio 2010
![Page 3: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/3.jpg)
WordPressPillole di sviluppo tips & tricks
WordCamp - Milano 22 Maggio 2010
Giovambattista Fazioli - CTO Saidmade Srl
http://www.undolog.com
sabato 22 maggio 2010
![Page 4: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/4.jpg)
sabato 22 maggio 2010
![Page 5: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/5.jpg)
•come strutturare un plugin: un possibile scheletro
sabato 22 maggio 2010
![Page 6: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/6.jpg)
•come strutturare un plugin: un possibile scheletro•ottimizzazione
sabato 22 maggio 2010
![Page 7: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/7.jpg)
•come strutturare un plugin: un possibile scheletro•ottimizzazione•tips & tricks
sabato 22 maggio 2010
![Page 8: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/8.jpg)
come wordpressriconosce un plugin
sabato 22 maggio 2010
![Page 9: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/9.jpg)
esegue una dir() nella cartella/plugins ed apre
- tramite un fopen() - "tutti" i file alla ricerca
dell'header commentun commento formattato in modo
particolare che permette a Wordpress di riconoscere un plugin
sabato 22 maggio 2010
![Page 10: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/10.jpg)
se inseriamo nella cartella /plugins un file mioplugin.php così
configurato:
<?php// genero errorefor()a = 4/0;?>
sabato 22 maggio 2010
![Page 11: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/11.jpg)
se inseriamo nella cartella /plugins un file mioplugin.php così
configurato:
<?php// genero errorefor()a = 4/0;?>
non accade nullasabato 22 maggio 2010
![Page 12: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/12.jpg)
se inseriamo l’header comment
<?php/*Plugin Name: WP MioPluginPlugin URI: http://www.saidmade.com/Description: WP MioPluginVersion: 1.0.0Author: Giovambattista FazioliAuthor URI: http://www.saidmade.comDisclaimer: Use at your own risk. No warranty expressed or implied is provided.*/
// genero errorefor()a = 4/0;?>
sabato 22 maggio 2010
![Page 13: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/13.jpg)
se inseriamo l’header comment
<?php/*Plugin Name: WP MioPluginPlugin URI: http://www.saidmade.com/Description: WP MioPluginVersion: 1.0.0Author: Giovambattista FazioliAuthor URI: http://www.saidmade.comDisclaimer: Use at your own risk. No warranty expressed or implied is provided.*/
// genero errorefor()a = 4/0;?>
non accade nullasabato 22 maggio 2010
![Page 14: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/14.jpg)
sabato 22 maggio 2010
![Page 15: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/15.jpg)
sabato 22 maggio 2010
![Page 16: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/16.jpg)
se attiviamo il plugin...
sabato 22 maggio 2010
![Page 17: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/17.jpg)
<?php/*Plugin Name: WP MioPluginPlugin URI: http://www.saidmade.com/Description: WP MioPluginVersion: 1.0.0Author: Giovambattista FazioliAuthor URI: http://www.saidmade.comDisclaimer: Use at your own risk. No warranty expressed or implied is provided.*/
echo “Plugin Attivo”;?>
la scritta “Plugin Attivo” verrà visualizzata sia lato Frontend che lato Backend
sabato 22 maggio 2010
![Page 18: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/18.jpg)
sabato 22 maggio 2010
![Page 19: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/19.jpg)
sabato 22 maggio 2010
![Page 20: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/20.jpg)
• Wordpress esegue sempre una dir() in /plugins
sabato 22 maggio 2010
![Page 21: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/21.jpg)
• Wordpress esegue sempre una dir() in /plugins
• apre i file - con una fopen() - alla ricerca dell’header
sabato 22 maggio 2010
![Page 22: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/22.jpg)
• Wordpress esegue sempre una dir() in /plugins
• apre i file - con una fopen() - alla ricerca dell’header
• esegue il codice solo quando il plugin è attivo
sabato 22 maggio 2010
![Page 23: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/23.jpg)
distinguere ilfrontend dal
backend
sabato 22 maggio 2010
![Page 24: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/24.jpg)
sabato 22 maggio 2010
![Page 25: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/25.jpg)
sabato 22 maggio 2010
![Page 26: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/26.jpg)
sabato 22 maggio 2010
![Page 27: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/27.jpg)
if( is_admin() ) { require_once( 'backend.php' );} else { require_once( 'frontend.php' );}
sabato 22 maggio 2010
![Page 28: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/28.jpg)
if( is_admin() ) { require_once( 'backend.php' );} else { require_once( 'frontend.php' );}
Questa è di per sé già una forma diottimizzazione
in quanto abbiamo separato i “possibili”ambienti su cui potrà operare il nostro plugin
sabato 22 maggio 2010
![Page 29: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/29.jpg)
if( is_admin() ) { require_once( 'backend.php' );} else { // require_once( 'frontend.php' );}
plugin che operano solo lato
backend
sabato 22 maggio 2010
![Page 30: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/30.jpg)
if( is_admin() ) { // require_once( 'backend.php' );} else { require_once( 'frontend.php' );}
plugin che operano solo lato
frontend
sabato 22 maggio 2010
![Page 31: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/31.jpg)
classi
sabato 22 maggio 2010
![Page 32: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/32.jpg)
sabato 22 maggio 2010
![Page 33: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/33.jpg)
• la classe funziona da NameSpace
sabato 22 maggio 2010
![Page 34: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/34.jpg)
• la classe funziona da NameSpace
• protezione contro la duplicazione di funzioni
sabato 22 maggio 2010
![Page 35: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/35.jpg)
• la classe funziona da NameSpace
• protezione contro la duplicazione di funzioni
• protezione verso altri plugin
sabato 22 maggio 2010
![Page 36: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/36.jpg)
• la classe funziona da NameSpace
• protezione contro la duplicazione di funzioni
• protezione verso altri plugin
• sviluppo del plugin secondo una filosofia Object Oriented
sabato 22 maggio 2010
![Page 37: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/37.jpg)
• la classe funziona da NameSpace
• protezione contro la duplicazione di funzioni
• protezione verso altri plugin
• sviluppo del plugin secondo una filosofia Object Oriented
• ereditarietà tra classi
sabato 22 maggio 2010
![Page 38: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/38.jpg)
• la classe funziona da NameSpace
• protezione contro la duplicazione di funzioni
• protezione verso altri plugin
• sviluppo del plugin secondo una filosofia Object Oriented
• ereditarietà tra classi
• miglior riutilizzo del codice
sabato 22 maggio 2010
![Page 39: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/39.jpg)
• la classe funziona da NameSpace
• protezione contro la duplicazione di funzioni
• protezione verso altri plugin
• sviluppo del plugin secondo una filosofia Object Oriented
• ereditarietà tra classi
• miglior riutilizzo del codice
• fa figo...
sabato 22 maggio 2010
![Page 40: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/40.jpg)
sabato 22 maggio 2010
![Page 41: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/41.jpg)
// load the core classrequire_once( 'wp-mioplugin_class.php');
// check adminif( is_admin() ) { // load admin class require_once( 'wp-mioplugin_backend.php' ); // create object $wp_mioplugin_backend = new WPMIOPLUGIN_BACKEND();} else { // load client front-end class require_once( 'wp-mioplugin_frontend.php'); // create object $wp_mioplugin_frontend = new WPMIOPLUGIN_FRONTEND();}
sabato 22 maggio 2010
![Page 42: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/42.jpg)
class WPMIOPLUGIN_CLASS { var $version = “1.0.0”; var $plugin_name = “WP Mio Plugin”; var $plugin_slug = “wp-mio-plugin”; ... }
class WPMIOPLUGIN_BACKEND extends WPMIOPLUGIN_CLASS { var $onlyBackend = “solo per backend”;
function WPMIOPLUGIN_BACKEND() { echo $this->version; } }
sabato 22 maggio 2010
![Page 43: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/43.jpg)
class WPMIOPLUGIN_CLASS { var $version = “1.0.0”; var $plugin_name = “WP Mio Plugin”; var $plugin_slug = “wp-mio-plugin”; ... }
class WPMIOPLUGIN_FRONTEND extends WPMIOPLUGIN_CLASS { var $onlyFrontend = “solo per frontend”;
function WPMIOPLUGIN_FRONTEND() { echo $this->version; } }
sabato 22 maggio 2010
![Page 44: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/44.jpg)
ottimizzazioni
sabato 22 maggio 2010
![Page 45: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/45.jpg)
sabato 22 maggio 2010
![Page 46: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/46.jpg)
• caricare solo il codice PHP che ci serve in base al
contesto in cui operiamo: Backend, Frontend, Pagine
Template, etc...
sabato 22 maggio 2010
![Page 47: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/47.jpg)
• caricare solo il codice PHP che ci serve in base al
contesto in cui operiamo: Backend, Frontend, Pagine
Template, etc...
• caricare script e stili seguendo la regola di sopra
sabato 22 maggio 2010
![Page 48: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/48.jpg)
• caricare solo il codice PHP che ci serve in base al
contesto in cui operiamo: Backend, Frontend, Pagine
Template, etc...
• caricare script e stili seguendo la regola di sopra
• utilizzare le funzioni:
sabato 22 maggio 2010
![Page 49: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/49.jpg)
• caricare solo il codice PHP che ci serve in base al
contesto in cui operiamo: Backend, Frontend, Pagine
Template, etc...
• caricare script e stili seguendo la regola di sopra
• utilizzare le funzioni:
• wp_register_style() / wp_register_script()
sabato 22 maggio 2010
![Page 50: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/50.jpg)
• caricare solo il codice PHP che ci serve in base al
contesto in cui operiamo: Backend, Frontend, Pagine
Template, etc...
• caricare script e stili seguendo la regola di sopra
• utilizzare le funzioni:
• wp_register_style() / wp_register_script()
• wp_enqueue_style() / wp_enqueue_script()
sabato 22 maggio 2010
![Page 51: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/51.jpg)
$this->url = plugins_url("", __FILE__ );$this->plugin_name = "WP MioPlugin";$this->plugin_slug = "wp-mioplugin";
add_action('admin_init', array( $this, 'plugin_init') );add_action('admin_menu', array( $this, 'plugin_setup') );
function plugin_init() { wp_register_style('wp-mioplugin-style-css', $this->url . "/css/style.css"); }
function plugin_setup() { $plugin_page = add_submenu_page("index.php", $this->plugin_name, $this->plugin_name, 10, $this->plugin_slug, array( $this, "menu")); add_action( 'admin_print_scripts-'. $plugin_page, array( $this, 'plugin_admin_scripts') ); add_action( 'admin_print_styles-'. $plugin_page, array( $this, 'plugin_admin_styles') );}
sabato 22 maggio 2010
![Page 52: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/52.jpg)
function plugin_admin_styles() { wp_enqueue_style('wp-mioplugin-style-css');}
function plugin_admin_scripts() { wp_enqueue_script('wp-mioplugin-main-js' , $this->url . '/js/main.js' , array ( 'jquery' ) , '1.4' , true );}
sabato 22 maggio 2010
![Page 53: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/53.jpg)
tips & tricks
sabato 22 maggio 2010
![Page 54: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/54.jpg)
sabato 22 maggio 2010
![Page 55: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/55.jpg)
sabato 22 maggio 2010
![Page 56: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/56.jpg)
// istanza oggetto backend nel file principale$wp_mioplugin_admin->register_plugin_settings( __FILE__ );
// ...
function register_plugin_settings( $pluginfile ) { // percorso completo comprensivo di "cartella" del Plugin add_action( 'plugin_action_links_' . basename( dirname( $pluginfile ) ) . '/' . basename( $pluginfile ), array( &$this, 'plugin_settings' ), 10, 1 );}
function plugin_settings( $links ) { $settings_link = '<a href="index.php?page=WP MioPlugin">' . __('Settings') . '</a>'; // Prepend one or more elements to the beginning of an array array_unshift( $links, $settings_link ); return $links;}
sabato 22 maggio 2010
![Page 57: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/57.jpg)
sabato 22 maggio 2010
![Page 58: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/58.jpg)
sabato 22 maggio 2010
![Page 59: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/59.jpg)
// istanza oggetto backend nel file principale$wp_mioplugin_admin->register_plugin_settings( __FILE__ );
// ...
function register_plugin_settings( $pluginfile ) { // percorso completo comprensivo di "cartella" del Plugin add_action( 'plugin_action_links_' . basename( dirname( $pluginfile ) ) . '/' . basename( $pluginfile ), array( &$this, 'plugin_settings' ), 10, 4 ); add_filter( 'plugin_row_meta', 'add_plugin_links', 10, 2);}
function add_plugin_links($links, $file) { if( $file == plugin_basename( __FILE__ ) ) { $links[] = '<strong style="color:#fa0">Per ulteriori informazioni visita <a href="http://labs.saidmade.com">Labs Saidmade</a></strong>'; } return $links;}
sabato 22 maggio 2010
![Page 60: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/60.jpg)
plugin attivo
sabato 22 maggio 2010
![Page 61: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/61.jpg)
plugin disattivo
sabato 22 maggio 2010
![Page 62: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/62.jpg)
plugin disattivo
a dimostrazione che il codice del pluginviene eseguito solo quando viene
attivato
sabato 22 maggio 2010
![Page 63: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/63.jpg)
help contestuale
function plugin_setup() { $plugin_page = add_submenu_page("index.php", $this->plugin_name, $this->plugin_name, 10, $this->plugin_slug, array( $this, “menu”)); if (function_exists(“add_contextual_help”)) { add_contextual_help( $plugin_page ,”<strong>WP MioPlugin</strong>” ); } }
sabato 22 maggio 2010
![Page 64: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/64.jpg)
help contestuale
function plugin_setup() { $plugin_page = add_submenu_page("index.php", $this->plugin_name, $this->plugin_name, 10, $this->plugin_slug, array( $this, “menu”)); if (function_exists(“add_contextual_help”)) { add_contextual_help( $plugin_page ,”<strong>WP MioPlugin</strong>” ); } }
sabato 22 maggio 2010
![Page 65: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/65.jpg)
dashboard
add_action('wp_dashboard_setup', 'add_dashboard_widget' );
function add_dashboard_widget() { wp_add_dashboard_widget( 'wp-mioplugin', 'Titolo', 'dashboard_widget_function' );}
function dashboard_widget_function() { echo "MioPlugin";}
sabato 22 maggio 2010
![Page 66: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/66.jpg)
Grazie a tutti per l’ascolto
sabato 22 maggio 2010
![Page 67: Speech Wordcamp 2010 - Giovambattista Fazioli](https://reader038.vdocumenti.com/reader038/viewer/2022103014/548225bcb4af9f40088b4707/html5/thumbnails/67.jpg)
per informazioni e contattihttp://www.saidmade.com
http://www.undolog.com
WordCamp - Milano 22 Maggio 2010
Giovambattista Fazioli - CTO Saidmade Srl
sabato 22 maggio 2010