Descubre en este tutorial cómo dar permisos a los usuarios que tengan rol de autor para que puedan editar un Custom Post Type (CPT) en WordPress mediante código.
Hace unos días, Carlos, un suscriptor, me comentó que había creado un Custom Post Type pero que los usuarios con rol de autor no veían el menú del CPT.
Esto se debe a que por defecto los usuarios definidos como autores no tienen la capacidad de editar un Custom Post Type si le has otorgado capacidades de página.
Pero esto lo puedes modificar fácilmente.
Aquí tienes cómo:
Pasos para permitir que un autor edite Custom Post Types
Opción A
Si has creado tú el Custom Post Type como te explico en este tutorial, puedes sustituir esta línea:
Para ver este código y los otros 2057 snippets de esta web,
identifícate o suscríbete aquí.
Esta sería la forma más sencilla, ya que los usuarios con rol de autor sí pueden editar las entradas.
Pero esta alternativa tiene la limitación de que las capacidades del CPT estarán asociadas a las de las entradas de blog.
Opción B
Si quieres tener una control más granular sigue los siguientes pasos.
1. Crea y define las «capabilities» personalizadas del Custom Post Type
Si has creado tú el Custom Post Type como te explico en este tutorial, puedes sustituir esta línea:
Para ver este código y los otros 2057 snippets de esta web,
identifícate o suscríbete aquí.
Con este fragmento, defines las nuevas capacidades asociadas al Custom Post Type. En este caso, como es para el CPT de porfolio, utilizas del sufijo _portfolio
, pero puedes cambiarlo por el de tu CPT.
2. Asigna la capacidad al rol de autor
Una vez que ya has definido las nuevas capacidades, solo queda asignarlas al rol que te interesa, en este caso el de autor.
Para ello, añade el siguiente fragmento al fichero functions.php o a tu plugin de funcionalidades:
Para ver este código y los otros 2057 snippets de esta web,
identifícate o suscríbete aquí.
En este fragmento de código utilizas la función get_role
y añades las capacidades que te interesen de las que has definido arriba.
Por defecto, cuando creas una nueva capacidad personalizada ningún rol tiene acceso al la misma. Así que tienes que dar acceso también al administrador, tal como hace el snippet superior.
Si no quieres que los autores tengan acceso a todos estos privilegios sobre el CPT, te recomiendo que crees un nuevo rol personalizado, tal y como te explico en el tutorial, y añadas las capacidades al nuevo rol.
Conclusiones
¿Quieres dar acceso a que puedan ver y editar entradas de un Custom Post Type los usuarios con rol de autor? Ahora ya sabes cómo hacerlo con un poco de código.
Si tienes alguna duda te leo en los comentarios. Y si quieres dejarme una sugerencia para futuros tutoriales, envíamela a través del formulario de contacto.
Todo ventajas de ser suscriptor. 😉
Tutoriales relacionados
- https://codigogenesis.com/crear-custom-post-type-codigo-genesis-framework/
- https://codigogenesis.com/crear-custom-post-type-codigo-genesis-framework/
- https://codigogenesis.com/crear-custom-post-type-codigo-genesis-framework/
- https://codigogenesis.com/crear-plugin-funcionalidades-wordpress/
- https://codigogenesis.com/anadir-rol-usuario-wordpress-personalizado/