¿Quieres organizar las subidas de medios por usuario en WordPress?
Si gestionas un sitio web con varios autores, puede que quieras impedir que los usuarios accedan a los archivos de medios de otras personas. De esta forma, te aseguras de que los autores no borren accidentalmente las imágenes de los demás.
En este artículo, le mostraremos cómo organizar las subidas de medios por usuarios en WordPress.
¿Por qué restringir el acceso de los autores a las subidas de medios?
Si tienes un blog WordPress con varios autores, es posible que éstos suban muchas imágenes diferentes. Esto puede dificultar que un autor encuentre la imagen correcta, o puede borrar o editar el archivo de medios de otra persona por accidente.
Esto puede causar todo tipo de problemas, como falta de productividad, mucho trabajo extra para los administradores y editores del sitio y un flujo de trabajo editorial complicado.
Este acceso ilimitado también puede suponer un problema de privacidad. Por ejemplo, si estás trabajando en un nuevo producto o en una idea para una entrada de blog, otros autores podrían ver imágenes confidenciales en la biblioteca de medios antes de que hagas un anuncio público.
Si tiene un sitio de membresía de WordPress, los colaboradores pueden incluso acceder a los archivos de medios premium a través de la biblioteca de medios.
Dicho esto, echemos un vistazo a cómo restringir quién puede ver las subidas de medios dentro de tu área de administrador de WordPress. Simplemente usa los enlaces rápidos de abajo para saltar directamente al método que quieras usar:
Método 1: Organizar las subidas de medios de los usuarios con un plugin (rápido y fácil)
La forma más sencilla de restringir el acceso a las subidas de medios es utilizar el plugin Frontier Restrict Access. Este plugin gratuito comprueba si un usuario tiene el permiso edit_others_posts
, que le permite editar las entradas de otro usuario.
Por defecto, WordPress concede esta capacidad a todos los que tienen el perfil de administrador o editor del sitio. Si desea cambiar esto, puede añadir o eliminar capacidades a los perfiles de usuario en WordPress.
Si el usuario no tiene el permiso edit_others_posts
, entonces este plugin le impedirá acceder a los archivos de otros usuarios en la biblioteca de medios de WordPress. Esto le permite organizar las subidas de medios por los usuarios sin restringir el acceso a los administradores y editores.
Este plugin funciona de forma inmediata y no hay ajustes que tengas que configurar, así que simplemente instala y activa el plugin Frontier Restrict Access. Para más detalles, consulta nuestra guía sobre cómo instalar un plugin de WordPress.
Nota: Usted puede notar que el plugin no ha sido probado con las últimas versiones de WordPress. Dicho esto, lo hemos probado nosotros mismos, y funciona bien para este tutorial.
Puedes leer nuestro artículo sobre si deberías usar plugins de WordPress no probados si tienes alguna duda. Si encuentras nuevos plugins que funcionen mejor para este propósito, háznoslo saber en los comentarios.
Método 2: Organizar las cargas multimedia por usuarios con código (más personalizable)
El primer método es rápido y sencillo. Sin embargo, puede ser bastante limitado, ya que sólo puede impedir que los usuarios sin el permiso edit_others_posts
(administradores y editores del sitio) accedan a los archivos multimedia de otros usuarios.
Si eres administrador de un sitio, puede darse la situación de que quieras limitar a todos los usuarios (excepto a ti mismo) el acceso a los archivos multimedia de otras personas.
En ese caso, puede añadir código personalizado a su blog de WordPress. Te mostraremos dos fragmentos de código: uno que restringe el acceso a los archivos multimedia para los usuarios que no son administradores y otro para los usuarios sin el permiso edit_others_posts
.
A menudo, los guías le pedirán que añada código personalizado a su tema de WordPress. Sin embargo, esto no es recomendable, ya que simples errores o erratas en el código pueden causar errores comunes de WordPress o incluso romper su sitio por completo.
Por eso 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. Facilita añadir código personalizado en WordPress sin tener que editar el archivo functions.php.
Lo primero que tienes que 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.
Una vez activado, diríjase a Fragmentos de código ” Añadir fragmento.
Aquí verás todos los fragmentos de código listos para añadir a tu sitio web. Estos incluyen fragmentos que le permiten desactivar completamente los comentarios de WordPress, subir archivos que WordPress no es compatible con por defecto, y mucho más.
Sólo tiene que pasar el cursor por encima de “Añada su código personalizado” y seleccionar “Usar fragmento”.
Para empezar, escriba un título para el fragmento de código personalizado. Puede ser cualquier cosa que le ayude a identificar el fragmento en el escritorio de WordPress.
A continuación, abra el menú desplegable “Tipo de código” y seleccione “Fragmento de código PHP”.
En el área “Vista previa del código”, puede pegar uno de los siguientes fragmentos de código:
Opción 1: Restringir el acceso a los archivos multimedia a los usuarios no administradores de WordPress
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;
}
Opción 2: Restringir el acceso a archivos multimedia a usuarios de WordPress sin permisos de edición de entradas
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;
}
A continuación, desplázate hasta la sección ‘Inserción’. WPCode puede añadir tu código en diferentes lugares, como después de cada entrada, solo en la parte frontal o solo para el administrador.
Para utilizar el código PHP personalizado en todo su sitio web WordPress, haga clic en “Insertar automáticamente” si aún no está seleccionado. A continuación, abre el menú desplegable “Ubicación” y selecciona “Ejecutar en todas partes”.
A continuación, desplácese a la parte superior de la pantalla y haga clic en el conmutador “Inactivo” para que cambie a “Activo”.
Por último, haga clic en “Guardar fragmento” para activar el fragmento de código PHP.
Ahora, los usuarios solo tendrán acceso a los archivos que suban a la biblioteca de medios de WordPress.
Esperamos que este artículo te haya ayudado a organizar mejor las subidas de medios por parte de los usuarios en tu sitio de WordPress. A continuación, puede marcar / comprobar nuestra guía de seguridad de WordPress o ver nuestra selección de expertos de los mejores plugins de formulario de contacto para WordPress.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Syed Balkhi says
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Joshua Owolabi says
I really enjoy all your tutorials kudos to you.
Although I am unable to use to build something due to lack of resources but you are WELDONE
WPBeginner Support says
Glad our tutorials are helpful
Administrador
Teddu says
I would like users to be able to upload content, and once its approved go onto a new page. the user could then edit it once it is there.
Think, similar how airbnb let users upload photos and descriptions of their holiday homes, and it appears in a page.
do you know a plug in for this functionality?
WPBeginner Staff says
It is certainly possible but can potentially open up your site to spam, malicious hack attempts. Please see out article on how to allow users to submit posts in WordPress. You can allow users to upload media without registration.
fredtgorski says
The one thing I would really(!) love to see on media library would be the ability to search media per post and/or date of upload. Every time I need to reuse an image I uploaded for a very old post, it is painfull to find it again. Sometimes I simply give up and reupload it…
agsm says
sir , i want to design a wordpress page where user will upload some documents with following feilds (name,e-mail,title,summary and file upload) after submit , it should appear in dashboard and when admin approve it should be show on page (all listing of upload details which has been approved by admin ) , its possible,
thanks in advance!!!
Michel says
https://wordpress.org/plugins/wp-user-frontend/
Jan says
Do you also have a solution to enable visitors (non-logged-in users) to upload content?
Tony Franco says
Very nice! Thank you!!