Programación y ejemplos de PHP, jQuery, HTML5, WordPress, MySQL, AMP y htaccess


Cómo modificar los permisos de los usuarios de WordPress

Vamos a ver cómo modificar los permisos de los usuarios de WordPress,  anteriormente ya comenté en esta entrada cómo agregar nuevos usuarios y perfiles en WordPress y por eso he creído conveniente realizar este nuevo post.

De esta manera conociendo los diferentes tipos de perfiles podemos personalizarlos añadiendo o eliminando sus permisos en el escritorio. Por el contrario si neceitamos crear nuevos … he escrito este otro post donde explico cómo crear perfiles personalizados en WordPress.

Tipos de usuario o perfiles existentes en WordPress

Usuarios de WordPress

Los usuarios de WordPress que tenemos por defecto son:

  • Suscriptor –> Rol en WP ‘susbcriber‘.
  • Colaborador –> Rol en WP ‘contributor‘.
  • Autor –> Rol en WP ‘author‘.
  • Editor –> Rol en WP ‘editor‘.
  • Administrador -> Rol en WP ‘administrator‘.

Los permisos modificados al tipo de perfil se ejecutarán sobre todos los usuarios del mismo tipo. Tambíen veremos cómo modificar los permisos a un usuario en concreto en vez de a todos los usuarios con dicho perfil.

Funciones para añadir o eliminar permisos y privilegios a usuarios de WordPress

Os enumero las funciones que vamos a usar, todas ellas se encuentran en el fichero ‘wp-includes/capabilities.php‘:

  • get_role() –> Obtiene los permisos que posee el perfil dentro del escritorio de WordPress.
  • add_cap() –> Añade permisos al perfil o usuario específico dentro del escritorio.
  • remove_cap() –> Elimina los permisos del perfil o usuario específico dentro del escritorio.

Sintaxis de la función get_role() de WordPress

Vamos a repasar la sintaxis extraída de su web oficial:

Os explico el funcionamiento:

  • A la función se le pasa el parámetro $rol, este parámetro debe ser uno de los roles mencionados (Suscriber, Contributor, Author…) en los tipos de usuarios de WordPress que he descrito anteriormente.
  • El valor devuelto es un objeto con todos los privilegios del perfil.

Ejemplo de get_role() para obtener los permisos y privilegios de un perfil de WordPress de tipo ‘administrator’

Vamos a ver mediante este sencillo ejemplo cómo obtener los privilegios de un perfil de tipo administrador:

Vamos a sacar resultado que se guarda en la variable $privilegios_autor usando la función de PHP var_export():

Sintaxis de la función add_cap() de WordPress

Vamos a repasar esta función que añade permisos a un perfil o usuario específico, esta es la sintaxis extraída de su página oficial:

Os detallo el código superior:

  • Para añadir permisos al tipo de perfil debemos haber guardado el rol en una variable con la función get_role() vista anteriormente.
  • A la variable $rol le añadimos el privilegio o permiso en cuestión.

Ejemplo de add_cap() para añadir permisos a un perfil de WordPress

Vamos a ver en el código inferior cómo añadir permisos a un perfil de WordPress:

Os explico el código superior:

  • Tal y como expliqué en la sintaxis de add_cap(), lo primero que debemos hacer es obtener el perfil y guardarlo en la variable $perfil.
  • Por último en el ejemplo añado al perfil de tipo editor el permiso para borrar usuarios.

Ejemplo de add_cap() para añadir permisos a un usuario concreto de WordPress

Ejemplo similar al anterior, la diferencia es que esta vez no vamos a modificar el permiso a los usuarios que tienen un perfil concreto, vamos a modificar los permisos de un usuario específico:

Explicación:

  • En la variable $usuario guardamos la información del dicho usuario del cual hemos pasado como parámetro su id.
  • Le terminamos por añadir el permiso para borrar usuarios.

Sintaxis de la función remove_cap() de WordPress

Con esta función podemos eleminar permisos a un perfil o a un usuario específico, esta es la sintaxis extraída de su página oficial:

Os explico el código superior:

  • Para eliminar permisos al tipo de perfil debemos haber guardado el rol en una variable con la función get_role() vista anteriormente.
  • A la variable $rol le eliminamos el privilegio o permiso en cuestión.

Ejemplo de remove_cap() para eliminar permisos a un perfil de WordPress

Vamos a ver en el código inferior cómo eliminar permisos a un tipo perfil:

Os lo explico:

  • Lo primero que hacemos es obtener el perfil y guardarlo en la variable $perfil mediante la función add_cap().
  • Por último elimino al perfil de tipo autor el permiso para borrar páginas.

Ejemplo de remove_cap() para eliminar permisos a un usuario concreto de WordPress

Ejemplo similar al anterior, la diferencia es que esta vez no vamos a eliminar el permiso a los usuarios que tienen un perfil concreto, vamos a eliminar los permisos de un usuario específico:

Explicación:

  • En la variable $usuario guardamos la información del dicho usuario del cual hemos pasado como parámetro su id.
  • Le terminamos por eliminar el permiso para borrar páginas.
Nota importante

Para optimizar el rendimiento de WordPress podemos realizar estos cambios desarrollando un plugin que nos haga estos cambios de permisos. La razón es que los cambios de permisos se quedan guardados en la BBDD.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies