Permitir que el rol de colaborador suba imágenes sin editar artículos ya publicados
Tengo los siguientes dos requisitos:
Quiero permitir que los usuarios con el rol de colaborador suban medios (principalmente imágenes) en sus publicaciones y preferiblemente que no puedan eliminar los elementos existentes antes de enviarlos para revisión.
Quiero asegurarme de que una vez que un artículo está publicado, no pueda ser editado por el colaborador (el escritor del plugin con rol de colaborador) o si puede ser editado, la nueva versión no se actualice antes de pasar por un proceso de revisión.
Me recomendaron el plugin Role Scoper pero no pude averiguar cómo hacerlo. Cualquier información sobre otro plugin o cómo hacer esto en Role Scoper sería genial.

Para habilitar la opción de subir imágenes a los contribuidores
Añade este código en el archivo functions.php
de tu tema actual
if ( current_user_can('contributor') && !current_user_can('upload_files') )
add_action('admin_init', 'allow_contributor_uploads');
function allow_contributor_uploads() {
$contributor = get_role('contributor');
$contributor->add_cap('upload_files');
}

Según el Codex: "Aunque verificar roles específicos en lugar de una capacidad es parcialmente compatible, esta práctica no se recomienda ya que puede producir resultados poco confiables." (https://codex.wordpress.org/Function_Reference/current_user_can)

Puedes hacer todo esto utilizando el plugin Editor de Roles de Usuario. Normalmente tiendo a evitar responder preguntas enlazando directamente a un plugin, pero en este caso, lo que necesitas viene en este paquete.

De nada. Y por favor, háganos saber si tienen más preguntas sobre este tema. Yo mismo gestiono una plataforma con múltiples autores donde utilizo características similares, así que estoy muy familiarizado con este territorio.

De hecho, tengo una. Si les damos acceso a los colaboradores para subir medios, implica que también tienen la opción de eliminarlos. ¿Hay alguna manera de permitirles subir archivos pero no borrarlos o editarlos para proteger los datos? En segundo lugar, ya lo mencioné antes. Por defecto, los colaboradores pueden editar las publicaciones una vez que se publican. Esto genera un problema: pueden cambiar algo si el colaborador lo considera necesario y eso se actualizará en la publicación. Me encantaría una funcionalidad donde la versión editada de la publicación deba ser aprobada nuevamente mientras la versión original siga visible.

No creo que haya una manera de evitar que un usuario elimine una imagen (archivo) que haya subido personalmente. Sugeriría crear una nueva pregunta para obtener el mejor soporte.

@Danny, ¿estás preguntando por una función que impida al usuario eliminar una publicación ya publicada? Si publicas una nueva pregunta, puedo responderla por ti :)

no exactamente... voy a publicar una nueva pregunta y te invitaré a ella... publicaré el enlace aquí en los comentarios solamente

aquí lo tienes, disculpa la demora
