OK, estoy buscando la mejor manera de atacar esto.
Me siento muy cómodo con PHP y hago tipos de publicaciones personalizadas con metacampos personalizados en WordPress.
Esto es lo que estoy mirando hacer:
- El usuario se registra y se establece en el suscriptor de forma predeterminada.
- El usuario solicita al administrador que tenga permiso para personalizar el tipo de publicación.
- El administrador asigna al usuario otro nombre de permiso como "Propietario de la tienda".
- El usuario ahora puede ver el tipo de publicación personalizada y puede hacer una entrada a este tipo de publicación.
- El usuario solo puede ver y editar su propia publicación.
Necesito ayuda en lo siguiente:
- Cómo crear un nuevo "Rol" llamado "Propietario de la tienda",
- Cómo otorgar el permiso correcto a dicho rol para ver y tener acceso al tipo de publicación personalizada.
- Solo permita que el usuario vea y edite sus propias publicaciones en este tipo de publicación personalizada.
Idealmente, preferiría que todo se hiciera desde wp-admin, pero supongo que podría necesitar construir un front-end para obtener el control finito que busco.
Cualquier aporte es muy apreciado.
Saludos cordiales
'map_meta_cap' => true
y'capability_type' => 'shopowner'
en mi tipo de publicación personalizada. He creado un nuevo rol llamadoShopOwner
y le he dado las capacidades de lectura, edit_shopowner, delete_shopowner. Establezca un usuario para el rol de ShopOwner e inicie sesión con ese usuario. Ese usuario no puede ver el tipo de publicación personalizada. ¿Me he perdido algo?edit_shopowners
ydelete_shopowners
.edit_shopowner
ydelete_shopowner
son meta capacidades que nunca se verifican realmente. Se verifican cuando alguien intenta editar o eliminar un elemento específico y terminan verificando cosas como "¿Puede este usuario eliminar este tipo de elementos? ¿Pueden eliminar solo los suyos o los de otros? ¿Pueden eliminar los elementos publicados?" etc.El tipo de publicación de registro tiene un parámetro llamado "capacidades", por lo que puede tener, por ejemplo,
http://codex.wordpress.org/Function_Reference/register_post_type
Para crear un nuevo usuario / rol / capacidad, puede usar add_role, add_cap, como ejemplo simple para comenzar:
fuente
¿Ha considerado mirar Gravity Forms o TDO Mini Forms para manejar el envío de contenido real? Cada uno tiene una funcionalidad que lo ayudaría a manejar el contenido enviado por el usuario de manera sensata.
fuente
Una manera más fácil y eficiente de cómo se puede lograr esto mediante la instalación de un complemento llamado "Administrador de acceso avanzado", no tendrá que escribir la funcionalidad, pero aún tendrá un nivel de control decente sobre los usuarios, los roles y lo que pueden hacer. La mayoría de las cosas que desea se pueden lograr con este complemento.
fuente