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.