Attivazione automatica e configurazione di Akismet per WordPress (Standard e Multisito)

Se stai eseguendo un Network WordPress (o Multisito), puoi attivare e configurare automaticamente il plugin Akismet per ogni sito alimentato dall’istanza Multisito.

Nota bene: anche se questa configurazione viene comunemente usata in Multisito, lo stesso codice funziona bene anche per un’installazione WordPress standard.

Attivazione automatica del plugin

Per attivare automaticamente Akismet, puoi sfruttare i Plugin Must Use di WordPress (noti anche come mu‑plugins).

Ecco un esempio di mu‑plugin da poter inserire in wp‑content/mu‑plugins/akismet‑loader.php:

<?php
function wpms_akismet_loader() {
        require_once( WP_PLUGIN_DIR . '/akismet/akismet.php' );
}
add_action( 'plugins_loaded', 'wpms_akismet_loader' );
function wpms_akismet_disable_plugin_actions( $actions, $plugin_file, $plugin_data, $context ) {
        if ( 'akismet/akismet.php' === $plugin_file ) {
                return array();
        }
        return $actions;
}
add_filter( 'plugin_action_links', 'wpms_akismet_disable_plugin_actions', 10, 4 );

La funzione/azione wpms_akismet_loader() carica e abilita il plugin Akismet incluso in WP in wp‑content/plugins/akismet/, senza che gli amministratori dei singoli siti debbano farlo manualmente.

La funzione/filtro wpms_akismet_disable_plugin_actions() disabilita le azioni normalmente presenti sotto il nome di un plugin per evitare che gli utenti abilitino/disabilitino/modifichino/eliminino il plugin Akismet attivato automaticamente nel passaggio precedente, lasciando solo il link Impostazioni per configurare Akismet.

Configurazione automatica della chiave API

Con solo il mu‑plugin installato, ogni sito nell’installazione Multisito deve configurare Akismet con la propria chiave API. Potrebbe essere una soluzione desiderabile, ma è anche possibile abilitare la stessa chiave API per tutti i siti serviti dall’istanza.

Per farlo, puoi sfruttare una costante speciale nel file wp‑config.php chiamata WPCOM_API_KEY. La costante inizia con WPCOM_ perché è stata usata per configurare tali funzionalità su WordPress.com, la più grande istanza di WP Multisito al mondo.

Puoi aggiungere quanto segue ovunque nel file wp‑config.php che si trova nella root della tua installazione WP, dove 12345qwerty è la chiave API di Akismet che vuoi usare ovunque:

// CHIAVE API AKISMET
define('WPCOM_API_KEY','12345qwerty');

Nota bene: una volta configurata la costante, non verrà più visualizzato il campo di testo nella schermata delle impostazioni di Akismet in cui normalmente si inserirebbe la chiave API.