Permitir a los colaboradores subir imágenes

becario geek

Los perfiles y capacidades de WordPress vienen predefinidos a una configuración estándar que no siempre se ajusta a tus necesidades, es por ello que en prácticamente cualquier WordPress multiusuario estaremos tentados de instalar algún plugin para personalizar estos ajustes.

Pero no siempre es necesario.

Una de las situaciones más comunes es darle más permisos al perfil de «Colaborador» que, por defecto, puede crear entradas y enviarlas a revisión, pero no puede subir imágenes.

Esto, que supone un nivel de seguridad alto, puede ser un auténtico engorro para el editor, que tiene no solo que aprobar la publicación sino ilustrarla el mismo con imágenes, ya que el colaborador no tiene permisos para hacerlo.

No creas, tiene su sentido, pues no solo es un control de seguridad para evitar que se suban archivos comprometidos, sino que en un entorno editorial es importante controlar que las imágenes que se utilizan en las publicaciones sean adecuadas (por el poder de atracción) y, más importante, que tengan los permisos de autor pertinentes para evitar denuncias.

Ahora bien, como es algo que se puede controlar a posteriori por el editor, en muchos entornos tendrá todo el sentido permitir que los colaboradores suban imágenes.

becario

Si quieres, puedes instalar uno de los múltiples plugins que te permiten personalizar, o incluso crear, perfiles y capacidades, cómo Members o Role Scoper, pero si es demasiado, y solo quieres añadir esta funcionalidad, puedes incorporarla a tu plugin de utilidades, simplemente añadiendo este código:

//Que los colaboradores puedan subir imágenes
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');
     }

Guardas los cambios y la siguiente vez que un colaborador acceda al editor de entradas de WordPress ya tendrá habilitado el cargador de imágenes.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(5 votos, promedio: 5)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

7 comentarios en “Permitir a los colaboradores subir imágenes”

  1. Oscar Gonzalez

    Al intentar integrarlo en el plugin me da un error 500 el sitio, pero en el theme no pasa nada. ¿Alguna solución?

  2. Xavier Ocampos

    Para esto si recomiendo el uso de algún plugin con funciones avanzadas ya que seria muy tedioso crear roles desde la API de WordPress, aunque si nada mas queremos que los colaboradores puedan subir imágenes esta solución es perfecta.

    Esta es otra de las cosas donde WordPress flojea si lo comparo con DotNetNuke o Joomla que son los otros 2 gestores de contenidos que manejo regularmente y cualquiera de los 2 permite la creación de roles por defecto, así como la implementación de permisos por página, con plugins se soluciona pero igual ya deberían implementarlo de forma nativa para evitar depender de terceros, evitar incompatibilidades con actualizaciones del sistema y en definitiva ser una plataforma apta para entornos corporativos donde existan paginas publicas y privadas.

  3. al agregar la funcion al plugin me sale este error

    Fatal error: Call to undefined function wp_get_current_user() in … wordpress/wp-includes/capabilities.php on line 1441

    ¿alguna idea?

    estoy con wp 4.3.1

  4. Yan Alejandro García Hernández

    por alguna razón no me funciona, lo logre con el siguiente código:

    add_action(‘init’, ‘buddyforms_allow_contributor_uploads’);

    function buddyforms_allow_contributor_uploads() {
    if ( current_user_can(‘contributor’) && !current_user_can(‘upload_files’) ){
    $contributor = get_role(‘contributor’);
    $contributor->add_cap(‘upload_files’);
    }
    }

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido