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

Se utilizzi un network WordPress (noto anche come multisito), potresti voler attivare e configurare automaticamente il plugin Akismet per ogni sito gestito da quell’istanza multisito.

Nota: sebbene la configurazione seguente sia usata più comunemente in ambiente multisito, lo stesso codice funziona perfettamente anche su un’installazione WordPress standard.

Attivazione automatica del plugin

Per attivare automaticamente Akismet puoi sfruttare i plugin obbligatori di WordPress (detti anche mu-plugins).

Ecco un esempio di mu-plugin da 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() caricherà e attiverà il plugin Akismet, incluso in WordPress nella cartella wp-content/plugins/akismet/, senza che ogni amministratore del sito debba intervenire manualmente.

Il filtro wpms_akismet_disable_plugin_actions() disattiverà le azioni normalmente visualizzate sotto il nome di un plugin, impedendo agli utenti di attivare, disattivare, modificare o eliminare il plugin Akismet, incluso e attivato automaticamente nel passaggio precedente. Resterà visibile solo il link Settings per configurare Akismet.

Configurazione automatica della chiave API

Con il solo mu-plugin descritto sopra, ogni sito dell’installazione multisito dovrebbe comunque dover configurare Akismet con la propria chiave API. Questo potrebbe essere il comportamento desiderato, ma potresti anche voler utilizzare la stessa chiave API per tutti i siti serviti da quell’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 inizialmente per configurare queste funzionalità su WordPress.com, la più grande rete multisito di WordPress al mondo.

Puoi aggiungere il codice seguente in qualsiasi punto del file wp-config.php, che si trova nella directory principale della tua installazione WordPress, dove 12345qwerty è la chiave API di Akismet che vuoi utilizzare ovunque:

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

Tieni presente che, una volta configurata la costante, il campo di testo nella schermata delle impostazioni di Akismet in cui normalmente si inserisce la chiave API non verrà più visualizzato.