Administrar un sitio de WordPress con varios autores es emocionante hasta que la biblioteca de medios se convierte en un caos. Hemos pasado por eso y sabemos lo frustrante que es cuando un autor elimina accidentalmente las imágenes de otro, causando caos justo antes de un gran lanzamiento.
Prevenir esto es más fácil de lo que crees. Puedes restringir qué autores ven qué archivos multimedia, devolviendo el orden a tu biblioteca.
Si bien WordPress no tiene una configuración integrada para esto, vamos a compartir el método simple que usamos en nuestros propios proyectos. Te ayudará a mantener tus archivos multimedia organizados y seguros.

¿Por qué restringir el acceso de los autores a las cargas de medios?
Si tienes un blog de WordPress con varios autores, entonces tus autores podrían subir muchas imágenes diferentes. Esto puede dificultar que un autor encuentre la imagen correcta, o podrían eliminar o editar accidentalmente el archivo multimedia de otra persona.
Esto puede causar todo tipo de problemas, incluida una baja productividad, mucho trabajo adicional para los administradores y editores del sitio, y un flujo de trabajo editorial complicado.
Este acceso ilimitado también puede ser una preocupación de privacidad. Por ejemplo, si estás trabajando en un nuevo producto o en una idea para una publicación de blog, otros autores podrían ver imágenes confidenciales en la biblioteca de medios antes de que hagas un anuncio público.
Si tienes un sitio de membresía de WordPress, los colaboradores incluso podrían acceder a archivos multimedia premium a través de la biblioteca de medios.
Dicho esto, veamos cómo restringir quién puede ver las cargas de medios dentro de tu área de administración de WordPress.
Cómo organizar las cargas de medios por usuarios con WPCode
Si bien algunos complementos han ofrecido esta función en el pasado, la forma más confiable y ligera de organizar las cargas de usuarios es agregando un simple fragmento de código. ¡No te preocupes, es más fácil de lo que parece!
Vamos a usar el complemento gratuito WPCode para hacer esto. Es la forma más segura y fácil de agregar código personalizado a tu sitio de WordPress sin editar los archivos de tu tema.
Te mostraremos dos fragmentos de código que puedes usar. El primer fragmento restringe el acceso a la biblioteca de medios para todos los usuarios que no sean administradores, y el segundo restringe el acceso para roles de usuario específicos como Autores y Colaboradores.
A menudo, las guías te pedirán que agregues código personalizado a tu tema de WordPress. Sin embargo, esto no se recomienda, ya que errores simples o errores tipográficos en tu código pueden causar errores comunes de WordPress o incluso romper tu sitio por completo.
Es por eso que recomendamos WPCode.
WPCode es el mejor plugin de fragmentos de código utilizado por más de 1 millón de sitios web de WordPress. Hace que sea fácil agregar código personalizado en WordPress sin tener que editar el archivo functions.php.
Consejo de experto: Aquí en WPBeginner, usamos WPCode para administrar todas las funciones personalizadas en nuestra cartera de sitios web. Permite a nuestro equipo de desarrollo agregar y solucionar problemas de código de forma segura sin tocar nunca los archivos del tema principal, lo que ahorra mucho tiempo y previene errores costosos.
Lo primero que debes hacer es instalar y activar el plugin gratuito WPCode. Para más detalles, consulta nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.
Tras la activación, dirígete a Snippets de código » Añadir Snippet.

Aquí, verás todos los fragmentos prefabricados que puedes agregar a tu sitio web. Estos incluyen fragmentos que te permiten deshabilitar completamente los comentarios de WordPress, desactivar las páginas de adjuntos de imágenes, y más.
Simplemente coloca el cursor sobre ‘Agregar tu código personalizado’ y luego selecciona ‘Usar fragmento’.

Para empezar, escribe un título para el fragmento de código personalizado. Puede ser cualquier cosa que te ayude a identificar el fragmento en el panel de WordPress.
Después de eso, abre el menú desplegable ‘Tipo de código’ y selecciona ‘Fragmento de PHP’.

En el área ‘Vista previa del código’, puedes pegar uno de los siguientes fragmentos de código:
Opción 1: Restringir el acceso a archivos multimedia para usuarios de WordPress que no son administradores
Este código verifica si el usuario actual no es un administrador. Si no es un administrador, filtra la biblioteca de medios para mostrar solo los archivos que el usuario ha subido él mismo.
add_filter( 'ajax_query_attachments_args', 'user_show_attachments' );
function user_show_attachments( $query ) {
$user_id = get_current_user_id();
// Check if the current user is not an administrator
if ( $user_id && !current_user_can('administrator') ) {
$query['author'] = $user_id;
}
return $query;
}
Esto significa que los usuarios normales solo pueden ver y administrar sus propios archivos multimedia, mientras que los administradores aún pueden ver y administrar todos los archivos.
Opción 2: Restringir el acceso a archivos multimedia para usuarios de WordPress sin permisos de edición de publicaciones
Este código es perfecto si deseas que los Editores y Administradores gestionen todos los archivos multimedia, mientras restringes a los Autores y Colaboradores solo a sus propias cargas.
add_filter( 'ajax_query_attachments_args', 'user_show_attachments' );
function user_show_attachments( $query ) {
$user_id = get_current_user_id();
// Checks if the current user is logged in (i.e., $user_id is not 0) and does not have the capabilities to activate plugins or edit others' posts.
if ( $user_id && !current_user_can('activate_plugins') && !current_user_can('edit_others_posts
') ) {
$query['author'] = $user_id;
}
return $query;
}
Funciona verificando si un usuario tiene el permiso edit_others_posts, que es una capacidad que los Editores tienen por defecto, pero los Autores no.
A continuación, simplemente desplázate hasta la sección ‘Inserción’. WPCode puede agregar tu código a diferentes ubicaciones, como después de cada publicación, solo en el front-end o solo en el administrador.
Para usar el código PHP personalizado en todo tu sitio web de WordPress, haz clic en ‘Insertar automáticamente’ si aún no está seleccionado. Luego, abre el menú desplegable ‘Ubicación’ y elige ‘Ejecutar en todas partes’.

Después de eso, estás listo para desplazarte hasta la parte superior de la pantalla y hacer clic en el interruptor ‘Inactivo’ para que cambie a ‘Activo’.
Finalmente, haz clic en ‘Guardar fragmento’ para que el fragmento de PHP se active.

Ahora, los usuarios solo tendrán acceso a los archivos que suban a la biblioteca de medios de WordPress.
Preguntas Frecuentes
Aquí tienes algunas de las preguntas más comunes que recibimos sobre la organización de cargas multimedia en WordPress.
¿Es seguro agregar código personalizado a mi sitio de WordPress?
Agregar código directamente al archivo functions.php de tu tema puede ser arriesgado. Un pequeño error tipográfico o un fallo podría causar problemas o incluso dejar tu sitio inaccesible.
Es por eso que recomendamos encarecidamente usar el plugin WPCode. Crea una capa segura para agregar fragmentos de código, para que no tengas que preocuparte por romper nada.
¿Esto afectará el rendimiento de mi sitio web?
En absoluto. El fragmento de código que proporcionamos es muy ligero y funciona de manera eficiente.
Solo agrega una verificación simple cuando un usuario accede a la biblioteca de medios, por lo que no ralentizará tu sitio web para tus visitantes.
¿Puedo restringir el acceso a los medios para roles de usuario específicos?
¡Sí, absolutamente! El código se puede personalizar fácilmente para dirigirse a un rol de usuario específico. Por ejemplo, si quisieras que esta restricción se aplique solo a los usuarios con el rol de 'Autor', podrías usar este fragmento en su lugar:
add_filter( 'ajax_query_attachments_args', 'author_only_show_attachments' );
function author_only_show_attachments( $query ) {
$user = wp_get_current_user();
// Check if the current user has the 'author' role
if ( in_array( 'author', (array) $user->roles ) ) {
$query['author'] = $user->ID;
}
return $query;
}
Aprende más formas de administrar archivos de WordPress
Además de restringir las cargas de medios en WordPress, también podrías consultar las guías a continuación para administrar mejor tus archivos:
- Cómo renombrar imágenes y archivos multimedia en WordPress
- Los Mejores Plugins de Dropbox para WordPress (Selección de Expertos)
- Cómo crear tamaños de imagen adicionales en WordPress
- Cómo forzar nombres de archivo de imagen limpios en WordPress (Método fácil)
- Cómo limpiar tu biblioteca de medios de WordPress
- Cómo cambiar la ubicación predeterminada de carga de medios en WordPress
Esperamos que este artículo te haya ayudado a organizar mejor las cargas de medios por parte de los usuarios en tu sitio de WordPress. A continuación, puedes consultar nuestras selecciones expertas de los mejores plugins de slider para WordPress y nuestra guía sobre cómo cargar imágenes perezosamente fácilmente en WordPress.
Si te gustó este artículo, suscríbete a nuestro canal de YouTube para obtener tutoriales en video de WordPress. También puedes encontrarnos en Twitter y Facebook.


Joshua Owolabi
Disfruto mucho de todos tus tutoriales, ¡felicitaciones!
Aunque no puedo usarlo para construir algo por falta de recursos, pero lo has hecho MUY BIEN.
Soporte de WPBeginner
Glad our tutorials are helpful
Administrador
Teddu
Me gustaría que los usuarios pudieran subir contenido y, una vez aprobado, que pase a una nueva página. El usuario podría editarlo una vez que esté allí.
Piensa, de forma similar a como Airbnb permite a los usuarios subir fotos y descripciones de sus casas de vacaciones, y que aparezca en una página.
¿Conoces algún plugin para esta funcionalidad?
Personal de WPBeginner
Ciertamente es posible, pero puede abrir potencialmente tu sitio a spam y intentos de hackeo malicioso. Por favor, consulta nuestro artículo sobre cómo permitir que los usuarios envíen publicaciones en WordPress. Puedes permitir que los usuarios suban medios sin registro.
fredtgorski
Lo único que realmente me encantaría ver en la biblioteca de medios sería la capacidad de buscar medios por publicación y/o fecha de carga. Cada vez que necesito reutilizar una imagen que subí para una publicación muy antigua, es doloroso encontrarla de nuevo. A veces simplemente me rindo y la vuelvo a subir...
agsm
señor, quiero diseñar una página de WordPress donde el usuario subirá algunos documentos con los siguientes campos (nombre, correo electrónico, título, resumen y carga de archivo) después de enviar, debería aparecer en el panel y cuando el administrador lo apruebe debería mostrarse en la página (todo el listado de detalles de carga que ha sido aprobado por el administrador), ¿es posible?
¡¡¡gracias de antemano!!!
Michel
https://wordpress.org/plugins/wp-user-frontend/
Jan
¿También tienes una solución para permitir que los visitantes (usuarios no registrados) suban contenido?
Tony Franco
Very nice! Thank you!!