Programmazione Plug-in programmare wordpress
Allinterno del percorso wp-content/plugins nella directory principale di wordpress, bisogna creare una directory col nome che identifichi al meglio la cartella del plugin stando attento a non creare.
All’interno della directory appena creata bisogna creare un file PHP usando il nome dato alla cartella:
1 2 3 |
mkdir mio-plug-in cd mio-plug-in touch mio-plug-in.php |
Per convenzione ogni parola viene separata da un trattino –
Per prima cosa il file php deve avere un commento ben strutturato, come spiegato nel sito ufficiale https://developer.wordpress.org/plugins/plugin-basics/header-requirements/, che descrive varie informazioni, ma la più importante e obbligatorio è il commento Plugin Name che serve al motore di wordpress per visualizzare il nome nella pagina dei plug in (Bacheca -> Plugin).
Nel commento Description serve a mostrare nella pagina dei plugin di wordpress una descrizione del plugin.
Altro commento importante è Text Domain che verrà utilizzato dal motore di wordpress per far funzionare vari comandi.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
/** * Plugin Name: Mio Plug in * Plugin URI: https://example.com/plugins/the-basics/ * Description: Handle the basics with this plugin. * Version: 1.10.3 * Requires at least: 5.2 * Requires PHP: 7.2 * Author: Luca Musty * Author URI: https://author.example.com/ * License: GPL v2 or later * License URI: https://www.gnu.org/licenses/gpl-2.0.html * Update URI: https://example.com/my-plugin/ * Text Domain: mio-plug-in * Domain Path: /languages */ |
Seguito da un codice di sicurezza
1 2 3 |
if ( ! defined( 'WPINC' ) ) { die; } |
Non necessario ma consigliato, è buona cosa creare una directory, all’interno di quella principale del plugin, chiamata ad esempio includes dove verranno aggiunti i file necessari al funzionamento del nostro plugin. Per far leggere al nostro plugin la cartela e i file PHP che la contengono bisogna includerli nel file PHP principale, aggiungendo ad esempio:
1 |
include( plugin_dir_path( __FILE__ ) . 'includes/mio-plug-in-text.php'); |
Ecco il file principale completo del nostro plug in:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
/** * Plugin Name: Mio Plug in * Plugin URI: https://example.com/plugins/the-basics/ * Description: Handle the basics with this plugin. * Version: 1.10.3 * Requires at least: 5.2 * Requires PHP: 7.2 * Author: Luca Musty * Author URI: https://author.example.com/ * License: GPL v2 or later * License URI: https://www.gnu.org/licenses/gpl-2.0.html * Update URI: https://example.com/my-plugin/ * Text Domain: mio-plug-in */ if ( ! defined( 'WPINC' ) ) { die; } include( plugin_dir_path( __FILE__ ) . 'includes/mio-plug-in-text.php'); |
Nella cartella includes creeremo un file mio-plug-in-text.php dove aggiungeremo un filtro per modificare del testo nel footer della pagina plugin di wordpress.
1 2 3 4 5 6 7 8 9 |
<?php function wpplugin_custom_admin_footer( $footer ) { $new_footer = str_replace( '.</span>', __(' and <a href="<a href="https://mstc.sytes.net/curriculum-vitae/" target="_blank" rel="noreferrer noopener">https://zacgordon.com</a>">Luca Mustacchio</a>.</span>', 'mio-plug-in' ), $footer); return $new_footer; } add_filter( 'admin_footer_text', 'wpplugin_custom_admin_footer', 10, 1 ); |
In questo file verrà aperto il tag <?php ma non verrà chiuso a fondo pagina
2 pensieri su – "Capitolo 1 File di setup e header del plugin"
[…] è il text domain che abbiamo messo nell’intestazione del nostro plug in al capitolo 1la classe wrap è quella che utilizza wordpress per le sue aree di […]
[…] La funzione per il salvataggio delle opzioni è add_action nella quale viene passato l’hook di alto livello admin_init. Continuando con il nostro plugin creato al capitolo 1. […]