Automatische Aktivierung und Konfiguration von Akismet für WordPress (Standard und Multisite)

Wenn du ein WordPress-Netzwerk (auch bekannt als Multisite) betreibst, möchtest du vielleicht das Akismet-Plugin für jede Website, die von dieser Multisite-Instanz betrieben wird, automatisch aktivieren und konfigurieren.

Hinweis: Obwohl das folgende Set-up meistens in Multisite verwendet wird, funktioniert der gleiche Code auch für eine standardmäßige WordPress-Installation.

Automatische Aktivierung des Plugins

Um Akismet automatisch zu aktivieren, kannst du die WordPress Must Use Plugins (auch bekannt als mu-plugins) nutzen.

Hier ist ein Beispiel für ein mu-plugin, das in wp-content/mu-plugins/akismet-loader.php platziert werden kann:

<?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 );

Die Funktion/Aktion wpms_akismet_loader() lädt und aktiviert das mit WP gebündelte Akismet-Plugin in wp-content/plugins/akismet/, ohne dass die einzelnen Website-Administratoren dies manuell tun müssen.

Die Funktion/der Filter wpms_akismet_disable_plugin_actions() deaktiviert die normalerweise unter dem Namen eines Plugins gefundenen Aktionen, um zu verhindern, dass deine Benutzer das gebündelte Akismet-Plugin aktivieren/deaktivieren/bearbeiten/löschen, das du im vorherigen Schritt automatisch aktiviert hast. So bleibt nur der Link „Einstellungen“ zur Konfiguration von Akismet übrig.

Automatische Konfiguration des API-Schlüssels

Wenn nur das oben genannte mu-plugin installiert ist, müssen alle Websites in der Multisite-Installation Akismet noch immer mit ihrem eigenen API-Schlüssel konfigurieren. Das kann wünschenswert sein, aber vielleicht möchtest du auch denselben API-Schlüssel für alle Websites aktivieren, die von dieser Instanz bedient werden.

Dazu kannst du eine spezielle Konstante namens WPCOM_API_KEY in der Datei wp-config.php nutzen. Die Konstante beginnt mit WPCOM_, weil sie ursprünglich verwendet wurde, um solche Funktionen auf WordPress.com zu konfigurieren, der größten WP-Multisite-Instanz der Welt.

Du kannst den folgenden Code überall in der Datei wp-config.php hinzufügen, die sich im Stammverzeichnis deiner WP-Installation befindet, wobei 12345qwerty der Akismet-API-Schlüssel ist, der überall verwendet werden soll:

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

Beachte: Sobald die Konstante konfiguriert wurde, wird das das Textfeld im Akismet-Einstellungsbildschirm, in das normalerweise der API-Schlüssel eingegeben wird, nicht mehr angezeigt.