Como ya sabes que uso principalmente como plugin de seguridad Security Optimizer, además de otras medidas de protección, no paro de buscar maneras de optimizar su uso y prestaciones, y algo que echaba en falta en el plugin es poder aplicar la doble verificación en el acceso, el 2FA, a otros perfiles además de los habilitados por defecto.
Por si no lo sabías, el plugin Security Optimizer, por defecto, si activas la doble verificación solo se aplica, solo se la pide, a los usuarios con perfil de administrador y editor, pero a ninguno más. Pues bien, aquí tienes cómo añadir otros perfiles a esta importante medida de protección de tu web…
Activa la identificación de dos factores de Security Optimizer en tu web
Es obvio pero sí, antes de nada debes activar la característica de doble verificación en los ajustes del plugin Security Optimizer, sino nada de lo siguiente funcionará.
Ve a la página de ajustes del plugin, a la pantalla de seguridad en el acceso, y activa la funcionalidad de identificación de dos factores.

Añade perfiles a la identificación de dos factores de Security Optimizer
Para que la protección de 2FA de Security Optimizer afecte a más perfiles de usuario que a los por defecto (administradores y editores) hay una función que puedes añadir a tu web, y con este poquito de código añadir tantos perfiles a la doble verificación como necesites. Aquí tienes un ejemplo:
/* 2FA a más perfiles de usuario con Security Optimizer de SG */
add_filter( 'sg_security_2fa_roles', 'ayudawp_2fa_mas_perfiles' );
function ayudawp_2fa_mas_perfiles( $roles ) {
$roles[] = 'author'; // Para el perfil de autor
$roles[] = 'shop-manager'; // Para el perfil de gestor de tienda
return $roles;
}
El truco está en añadir una línea ($roles[] = 'slug-del-perfil';) por cada perfil de usuario al que quieras requerir la identificación de dos factores 2FA con el plugin Security Optimizer
En el ejemplo anterior hemos añadido la 2FA a los perfiles de autor de WordPress y de gestor de tienda de WooCommerce, pero puedes añadir a cualquier otro perfil, nativo de WordPress, o añadido por ti o por otros plugins, como contributor, subscriber, seo-manager, etc.
Añade todos los perfiles a la identificación de dos factores de Security Optimizer
Pero no queda ahí la cosa, porque si te vienes arriba y resulta que quieres aplicar el 2FA de Security Optimizer a TODOS los roles de usuario existentes y por existir en una instalación, entonces tendrías este otro código:
/* 2FA obligatorio para TODOS los perfiles de usuario con Security Optimizer de SG */
add_filter( 'sg_security_2fa_roles', 'ayudawp_2fa_todos_los_roles' );
function ayudawp_2fa_todos_los_roles( $roles ) {
$all_roles = wp_roles();
return array_keys( $all_roles->role_names );
}
Funciona así:
wp_roles()devuelve el objeto con todos los perfiles (roles) registrados en la base de datos de WordPress.role_namescontiene unarrayasociativo donde las claves son los slugs de los perfiles (administrator,editor,author,subscriber,shop_manager, etc.)array_keys()extrae solo esos slugs, que es lo que el filtro espera.
Al hacerlo así, cualquier perfil nuevo que se añada en el futuro (ya sea un plugin, tema o manualmente) quedará automáticamente incluido sin tocar el código.
¿Y si quiero aplicarlo a todos los perfiles pero excluir alguno en concreto?
Si en algún momento quisieras excluir algún rol específico, podrías hacerlo así:
/* 2FA obligatorio para CASI TODOS los perfiles de usuario con Security Optimizer de SG */
add_filter( 'sg_security_2fa_roles', 'ayudawp_2fa_todos_los_roles' );
function ayudawp_2fa_todos_los_roles( $roles ) {
$all_roles = wp_roles();
$roles = array_keys( $all_roles->role_names );
// Perfiles a excluir de 2FA - Un slug por línea
$exclude = array( 'subscriber' );
$exclude = array( 'slug_de_otro_rol_a_exluir' );
return array_diff( $roles, $exclude );
}
En el mismo código te he indicado donde tendrías que añadirlos. Por defecto excluye todos, menos los $exclude.
Añade el código usando tu método preferido y no necesitas más.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!







Gracias por ese tip Fernando, soy usuario empedernido de ese plugin, y en ocasiones eché en falta poder activar el 2FA para todos los perfiles.
Solo una duda, ¿dónde habría que añadir esos fragmentos de código?
Gracias ppr este, y por tantos otros artículos de interés práctico para WordPress ♀️
Me alegra que te sirva 🙂
Lo puedes añadir como prefieras, al final del post incluía un enlace de un mini tutorial para ello, este: https://ayudawp.com/pegar-codigos/