Articolo spudoratamente scopiazzato e liberamente tradotto dal WordPress Codex > Must_Use_Plugins
Must Use Plugins
I #Must #Use #Plugins (conosciuti anche come #mu-plugins) sono plugin installati in una directory speciale all’interno della directory “*-content” ed è automaticamente abilitata su tutti i siti al momento dell’installazione. I Must-use plugins non vengono mostrati nella classica lista dei plugin – */wp-admin/plugins.php – bensì in un tab separato: */wp-admin/plugins.php?plugin_status=mustuse – e non possono essere disabilitati come accade per i soliti plugin, ma va rimosso fisicamente il file (solitamente tramite ftp) dalla directory wp-content/mu-plugins.
Se si desidera cambiare la directory di default, si può agire tramite wp-config.php: WPMU_PLUGIN_DIR
e WPMU_PLUGIN_URL
define( 'WPMU_PLUGIN_DIR', WP_CONTENT_DIR . '/my_custom_plugins' ); // full path, no trailing slash
define( 'WPMU_PLUGIN_URL', WP_CONTENT_URL . '/my_custom_plugins' ); // full url, no trailing slas
Caratteristiche
- Sempre attivi! Non è possibile/necessario attivarli dal pannello admin, e non possono mai essere disabilitati (se non rimuovendo il file).
- Possono essere abilitati semplicemente caricando il file (php) nella directory mu-plugins, anche senza loggarsi!!!
- Caricati dal PHP in ordine alfabetico, prima degli altri plugin, e quindi le API (le funzioni) inserite in un mu-plugins si applicano anche agli altri plugin.
Avvertenze
Per quanto possa rivelarsi un sistema eccellente in molte circostanze, è bene tenere a mente che – in determinate occasioni – potrebbero esserci degli aspetti negativi da non sottovalutare:
- I plugin nella directory mu-plugins non hanno un sistema di aggiornamento interno e quindi tocca occuparsene manualmente!!!
- Activation hooks (ganci/sistemi di attivazione) non vengono eseguiti dai plugin presenti nella directory mu-plugins. Questi hooks vengono eseguiti da molti plugin “classici” per eseguire determinate operazioni in fase di installazione (o per pulire tutto in fase di disinstallazione). I plugin che necessitano di svolgere determinate procedure di installazione e/o disinstallazione, non possono funzionare all’interno della directory mu-plugins e vanno dunque usati come plugin classici. In ogni caso, tutti i plugin inseriti in mu-plugins andrebbero testati in modo approfondito prima di essere usati su un sito live (sito con accesso pubblico).
- WordPress cerca file PHP solo all’interno della directory mu-plugins, e (a differenza dei plugin normali) non controlla nelle sottodirectory. A questo si può comunque rimediare con un file “delega” all’interno della directory mu-plugins:
<?php /* mu-plugins/load.php */ require WPMU_PLUGIN_DIR.'/my-plugin/my-plugin.php'; ?>
Storia e origine del nome
La directory ‘mu-plugins’ fu inizialmente implementata con WPMU (WordPress Multi-User) per offrire agli amministratori un modo semplice di attivare di default dei plugin su tutti i blog. C’era bisogno di questa caratteristica perché, al tempo, WPMU non offriva modi per raggiungere questo risultato utilizzando la sezione amministrativa del sito (oggi, invece, “WordPress Multisite” ha tutte le caratteristiche utili per gestire i plugin dal pannello admin).
Il codice che gestisce gli /mu-plugins/ è stato così inserito nella versione principale di WordPress (./changeset/10737) oltre 10 mesi prima che il codice di wpmu fu inizialmente integrato. Così tutti i siti WP potevano sfruttare i vantaggi degli “mu-plugins”, a prescindere che avessero o meno abilitato le funzionalità multisito. In effetti, i plugin “mu-plugins” possono essere utili per ogni admin a prescindere dalle circostanze, e dunque questa scelta ha certamente senso.
In questo processo il nome “mu plugins” è diventato un termine improprio perché non si applicava esclusivamente alle installazioni multisito e perché “MU” non era nemmeno più in uso per riferirsi alle installazioni WPMU. Nonostante questo, il nome è stato mantenuto e re-interpretato nel senso “must-use plugin”, vale a dire: Questi sono plugin che devono essere sempre utilizzati, quindi vengono caricati automaticamente su tutti i siti indipendentemente dalle impostazioni nel pannello Plugin in wp-admin.
Così “Must-Use” è effettivamente un Backronym, come PHP (che significava originariamente “Personal Home Page” ma è stato successivamente ri-interpretato in “PHP Hypertext Preprocessor”, che è anche un Recursive Acronym).
Source Code
get_mu_plugins()
is located in wp-admin/includes/plugin.php.wp_get_mu_plugins()
is located in wp-includes/load.php.
Nota dell’autore:
Da quando ho conosciuto i “Must Use Plugins”, ho rimosso/abbandonato parecchi plugin “classici” come:
- My Custom CSS (questo era mio… non serve più!);
- PHP Code for posts (lo usavo per gli script nella sezione tools, ormai inutile);
- Include Me (anche questo per includere alcuni script – quelli più complessi, ormai inutile);
- Custom Login (date un’occhiata al mio login xD)!!!
….
Probabilmente altri, mi verranno in mente…
Insomma, la faccio breve: Per customizzare il tutto (vedi il mio template, che è un semplice Sixteen modificato esclusivamente via mu-plugins) mi affido sempre a poche righe di codice via mu-plugins!
Qui un esempio della mia attuale lista:

Come sempre, per dubbi o domande non esitate a chiedere 🙂
5 commenti su “#WordPress: Come usare la directory #mu-plugins (Must Use Plugins)”