Activar y configurar automáticamente Akismet en WordPress (estándar y multisitio)

Si estás ejecutando una red de WordPress (también conocida como multisitio), puede que quieras activar y configurar automáticamente el plugin Akismet en cada sitio que utiliza esa instancia de multisitio.

Nota: aunque la siguiente configuración se utiliza más comúnmente en los multisitios, el mismo código funciona perfectamente para una instalación estándar de WordPress.

Activación automática del plugin

Para activar automáticamente Akismet, puedes aprovechar los plugins de uso obligatorio de WordPress (Must Use Pluginsmu‑plugins).

Aquí tienes un ejemplo de mu‑plugin que puede estar en 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 función/acción wpms_akismet_loader() cargará y activará el plugin Akismet incluido en WP en wp‑content/plugins/akismet/, sin que los administradores de sitios individuales tengan que hacerlo manualmente.

La función/filtro wpms_akismet_disable_plugin_actions() desactivará las acciones que normalmente se encuentran en un plugin para evitar que tus usuarios activen, desactiven, editen o eliminen el plugin Akismet que has activado automáticamente en el paso anterior, dejando solo el enlace Settings para configurar Akismet.

Configuración automática de la clave de API

Con solo el mu‑plugin anterior instalado, cada uno de los sitios en la instalación de multisitio aún tendría que configurar Akismet con su propia clave de API. Esto te puede interesar, pero también puedes querer habilitar la misma clave de API para todos los sitios de dicha instancia.

Para hacerlo, puedes aprovechar una constante especial en el archivo wp‑config.php llamada WPCOM_API_KEY. La constante comienza con WPCOM_ porque se usó por primera vez para configurar estas características en WordPress.com, la instancia de WordPress multisitio más grande del mundo.

Puedes añadir lo siguiente en cualquier lugar del archivo wp‑config.php que se encuentra en la raíz de tu instalación de WordPress, donde 12345qwerty es la clave de API de Akismet que quieres utilizar en todas partes:

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

Ten en cuenta que una vez configurada la constante, ya no aparecerá el campo de texto en la pantalla de configuración de Akismet donde normalmente se introduciría la clave de API.