Ocultar o deshabilitar el formulario de contacto 7 para un rol específico en wordpress

1 minuto de lectura

Creé un rol de usuario personalizado “faquser” en mi sitio wp. Ahora quiero ocultar el menú del formulario de contacto 7 (o deshabilitarlo) solo para este rol. ¿Cómo puedo hacer eso? Yo vi esto:
http://contactform7.com/restricción-de-acceso-al-panel-de-administración/

Pero si hago esto, entonces el formulario de contacto solo funciona para el administrador y no para otros. También he intentado hacer algo como esto:

remove_menu_page('admin.php?page=wpcf7');

Esto tampoco eliminó el elemento del menú.

Encontré la solución:

remove_menu_page('wpcf7');

Para hacer esto correctamente, debe escribir una función que determine para qué roles necesita eliminar el elemento del menú.

remove_menu_page('wpcf7'); // This is the snippet that will remove the contact form 7 menu specifically.

Este es un ejemplo de una función que hace la tarea completa.

function remove_menu_pages() {

    global $user_ID;

    if ( !current_user_can( 'publish_posts' ) ) {
       remove_menu_page('edit-comments.php'); // Comments
       remove_menu_page('edit.php?post_type=page'); // Pages
       remove_menu_page('wpcf7'); // Contact Form 7 Menu
    }
}
add_action( 'admin_init', 'remove_menu_pages' );

Puede obtener una lista completa de las capacidades de los diferentes roles en WordPress aquí: https://wordpress.org/support/article/roles-and-capabilities/

Elegí “publish_posts” para que todos los tipos de usuario debajo del autor y que no tienen la capacidad de “publish_posts” no vean el menú del formulario de contacto 7, o los elementos del menú de comentarios o páginas.

Dependiendo de las capacidades que le haya dado a su rol de usuario, “faquser” determinará para qué capacidades necesita llamar a la función.

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad