Anteriormente habíamos visto como quitar la opción de edición de archivos en la administración, incluso para usuarios con el rol de administrador. En este artículo veremos como hacerlo con las opciones de configuración de WooCommerce.
Resultado Final
Al final queremos obtener algo similar a la siguiente imagen, pero no sólo quitar visualmente la opción sino también quitar el acceso directo desde la Url.

Código para quitar el acceso a las opciones de WooCommerce
Adicional a ocultar el menú también se limita el acceso desde la barra de direcciones.
add_action( 'init', 'hide_woocommerce_settings_page' );
function hide_woocommerce_settings_page() :void{
// obtenemos el usuario actual
$usuario_actual = wp_get_current_user();
// usuarios o roles que no deberían ver los menús de WooCommerce
$usuarios_restringidos = [ 'admin', 'crojas' ]; // Reemplaza con los nombres de usuario
// Verificamos si el usuario actual está restringido
if ( in_array( $usuario_actual->user_login, $usuarios_restringidos ) ) {
// Eliminamos el menú principal de WooCommerce
add_action( 'admin_menu', function () {
remove_menu_page( 'woocommerce' ); // Menú principal de WooCommerce
}, 99 );
// Redirigir si intentan acceder a páginas específicas de WooCommerce
add_action( 'admin_init', function () {
$pagina_actual = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
if ( strpos( $pagina_actual, 'wc-' ) === 0 ) { // Verifica si la página comienza con "wc-"
wp_redirect( admin_url() );
exit;
}
} );
}
}
En el código anterior:
- Usamos el Hook init que hace referencia a la función hide_woocommerce_settings_page
- Dentro de esta función comprobamos el usuario actual, si el usuario actual no debe ver la opción de menú entonces ingresará a una condicional
- Dentro de la condicional agregamos Hooks para remover el menú, admin_menu
- En el otro Hook admin_init comprobamos la página actual y realizamos una redirección, esto en el caso de que se trate de acceder directamente conociendo la Url
Conclusión
Como hemos podido comprobar, es posible que en algunos proyectos no todos los usuarios que tienen acceso al backend del sitio deberían tener la opción de acceder a las configuraciones de WooCommerce, en este caso podemos adaptar este código para ocultar estas opciones de ciertos usuarios.
La entrada Quitar el menú de WooComerce en la administración de WordPress para ciertos usuarios es un artículo reciente del sitio DecodeCMS.
0 Commentaires