Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WordPress Plugins - Cosa sono e come crearne di...

WordPress Plugins - Cosa sono e come crearne di propri

Introduzione al mondo dei plugins per WordPress, cosa serve per scrivere un plugin? - Guido Scialfa

WordPress Meetup Catania

July 20, 2017
Tweet

More Decks by WordPress Meetup Catania

Other Decks in Education

Transcript

  1. Un plugin è un pezzo di software che contiene del

    codice che si integra nell’ambiente di WordPress. I plugins possono estendere e/o modificare il comportamento di WordPress oltre che aggiungere nuove funzionalità e persino sovrascriverne di esistenti. Cosa sono i Plugins?
  2. Plugins che vengono attivati/disattivati per tutti i siti all’interno di

    una installazione multisite. 
 
 Questi plugins sarano disponibili all’interno di tutti i siti senza necessità di doverli attivare sito per sito. I plugins per poter funzionare in network wide devono poter supportare questa modalità di WordPress. Network Plugins
  3. I mu-plugins sono plugins installati in una directory speciale e

    sono attivati automaticamente in tutti i siti.
 
 Questi plugins vengono gestiti in una lista separata. Non possono essere deattivati ne distinstallati a meno di non rimuovere la directory dal server. Must-Use Plugins
  4. I Drop-in Plugins permettono di modificare alcune funzionalità di WordPress

    sovrascrivendo le funzioni stesse del cms. Possiamo ad esempio, sovrascrivere la libreria usata da Wp per collegarsi al database, modificare il sistema di cache, gestione dei blog etc…
 
 Non tutti i plugins drop-ins lavorano a livello di Network. Drop-In Plugins
  5. Per poter scrivere un plugin per WordPress bisogna Conoscere WordPress.

    Avere una conoscenza basilare degli Hooks (ganci). Sapere dove e quando potersi agganciare a WordPress. Concetti Fondamentali
  6. Gli Hooks Gli Hooks sono suddivisi in actions e filters

    e permettono ai plugins di potersi integrare e manipolare i dati in WordPress.
 
 L’unica differenza tra actions e filters e che i secondi devono sempre ritornare qualcosa. do_action() do_action_ref_array() add_action() remove_action()
 remove_all_actions() apply_filters() apply_filters_ref_array() add_filter() remove_filter() remove_all_filters()
  7. Dichiarazione do_action ( ‘action_key_name’, $arg1, $arg2, …$argN ); add_action (

    ‘action_key_name’, function () { … }, $priority, $nArgs);
  8. Esempio add_filter( 'manage_media_columns', function ( $columns ) { $columns['size'] =

    __( 'Size' ); return $columns; } ); add_action( 'manage_media_custom_column', function ( $column_name, $post_id ) { if ( 'size' === $column_name ) { echo size_format( filesize( get_attached_file( $post_id ) ) ); } }, 10, 2 );
  9. Ok, ma come creo un plugin? Il file del plugin.

    Intestazione del plugin. Initializzare il plugin.
  10. Il file del Plugin I plugins risiedono all’interno della directory

    di WordPress: wp-content/plugins oppure wp-content/mu-plugins o wp-content/ Per convenzione il file principale del plugin ottiene lo stesso nome della directory del plugin stesso. wp-content/plugins/mio-plugin/mio-plugin.php
  11. Intestazione del plugin WordPress riconosce il file da utilizzare come

    file principale del plugin dalla presenza di una intestazione all’interno del file stesso. L’intestazione o header del plugin definisce alcune informazioni riguardanti il plugin stesso come: Nome, Autore, Licenza etc…
  12. Intestazione del plugin /* * Plugin Name: WordPress.org Plugin *

    Plugin URI: https://developer.wordpress.org/plugins/the-basics/ * Description: Basic WordPress Plugin Header Comment * Version: 1.0.0 * Author: WordPress.org * Author URI: https://developer.wordpress.org/ * License: GPL2 * License URI: https://www.gnu.org/licenses/gpl-2.0.html * Text Domain: wporg * Domain Path: /languages */
  13. Inizializzare il plugin Quando WordPress include il file principale del

    plugin viene anche eseguito il codice al suo interno. È importante quindi che il plugin esegua il suo codice in un determinato momento all’interno del ciclo di vita del processo php.
  14. WordPress Plugins Ajax Rebuild Thumbnail User Switching / in Admin

    Bar Log Deprecated Notice P3 Profiler Query Monitor Minify Html Gmail Smtp WpRollback Widget Importer Exporter Transient Manager Theme Check Show Hidden Post Meta Options Importer Jetpack HumanMade Importer HeartBreath Control