Salta al contenuto principale
Sistemi Attivi
WP Planet — WordPress Cloud & Managed Services
Torna al MagazineSviluppo

MU plugin WordPress: l'arma sottoutilizzata per modifiche che sopravvivono agli aggiornamenti del tema

17 Ott 2026 — 15:20 8 min di lettura
MU plugin WordPress: l'arma sottoutilizzata per modifiche che sopravvivono agli aggiornamenti del tema

I must-use plugin sono il posto giusto per le modifiche WordPress che non devono sparire quando cambi tema. Cosa sono, perché sopravvivono dove functions.php muore, e quando usarli invece di un plugin completo.

C'è un posto in WordPress dove il codice vive più a lungo della maggior parte delle altre personalizzazioni, e quasi nessuno lo usa. Si chiama cartella mu-plugins, sta dentro wp-content, e ospita i must-use plugin: file PHP che WordPress carica automaticamente, prima dei plugin normali, e che non puoi disattivare dal pannello admin. Per molte personalizzazioni è il posto giusto. Per quasi tutte, è meglio di functions.php.

Il problema con functions.php è che vive nel tema. Cambi tema, o aggiorni un tema che sovrascrive il file, e le tue modifiche spariscono. Lo vediamo costantemente: un cliente cambia tema per rinfrescare il design e perde un'integrazione custom, un redirect, un filtro sul checkout. functions.php è comodo per modifiche legate alla presentazione, ma è il posto sbagliato per logica di business che deve sopravvivere ai cambi tema.

Cosa rende i MU plugin diversi

Tre caratteristiche li distinguono. Primo: WordPress li carica automaticamente all'avvio, non serve attivarli. Secondo: non appaiono nella lista plugin del pannello admin, quindi un utente non tecnico non può disattivarli per sbaglio. Terzo: si caricano prima dei plugin normali, il che li rende utili per filtri che devono intervenire presto nel ciclo di vita di WordPress.

Il rovescio della medaglia: non puoi disattivarli selettivamente, non hanno un meccanismo di aggiornamento automatico, e un errore di sintassi in un MU plugin può bloccare l'intero sito. Per questo conviene tenerli piccoli e focalizzati, una funzionalità per file.

Creare un MU plugin

Crea la cartella wp-content/mu-plugins (se non esiste) e aggiungi un file PHP. WordPress carica solo i file direttamente nella cartella, non nelle sottocartelle, quindi per organizzare più MU plugin conviene usare un loader:

wp-config.php
<?php
// wp-content/mu-plugins/wp-planet-loader.php
// Loader che include tutti i MU plugin organizzati in sottocartelle

$mu_plugins = glob( __DIR__ . '/wp-planet-plugins/*.php' );
foreach ( $mu_plugins as $file ) {
    require_once $file;
}

// Esempio di MU plugin singolo senza loader:
// wp-content/mu-plugins/disabilita-xml-rpc.php
add_filter( 'xmlrpc_enabled', '__return_false' );
Nota: I file direttamente in mu-plugins/ vengono caricati in ordine alfabetico. Se hai più di un MU plugin, il pattern con loader e sottocartella ti dà controllo sull'ordine di caricamento.

Un esempio concreto: redirect dopo login per ruolo

Un caso d'uso tipico: reindirizzare gli utenti non-admin alla home dopo il login invece che alla dashboard. È logica di business, non di presentazione, e non deve sparire se cambi tema:

wp-config.php
<?php
// wp-content/mu-plugins/redirect-login-by-role.php

add_filter( 'login_redirect', function( $redirect_to, $request, $user ) {
    if ( ! $user || is_wp_error( $user ) ) {
        return $redirect_to;
    }
    // Gli amministratori vanno alla dashboard, gli altri alla home
    if ( in_array( 'administrator', (array) $user->roles, true ) ) {
        return admin_url();
    }
    return home_url();
}, 10, 3 );
Nota: Questo redirect sopravvive ai cambi tema perché vive in mu-plugins, non nel tema. Se un giorno lo rimuovi, elimini il file e sparisce — niente disattivazione dal pannello.

Quando usare un MU plugin, functions.php o un plugin vero

La regola pratica: se la modifica riguarda la presentazione (template, stili, hook di rendering), va in functions.php del tema child. Se è logica di business che deve sopravvivere ai cambi tema e non serve un'interfaccia di configurazione, va in un MU plugin. Se serve un pannello di configurazione, opzioni salvate nel database, o aggiornamenti automatici, allora un plugin completo è la scelta giusta.

I MU plugin sono sottovalutati perché non hanno il fascino di un plugin con pannello admin, ma per le personalizzazioni piccole e durature sono lo strumento più adatto. Meno dipendenze, più longevità, meno superficie di attacco. In un approccio orientato al codice pulito, è spesso la scelta migliore.

Sviluppo WordPress

Codice pulito, prestazioni e dipendenze ridotte al minimo.

Sviluppo WordPress personalizzato: temi leggeri, plugin su misura e integrazioni API senza appesantire il sito.

Sviluppo WordPress
Condividi