Cómo restringir el acceso a la biblioteca multimedia a las cargas propias del usuario en WordPress

De forma predeterminada, WordPress permite a los autores ver todas las imágenes en la biblioteca de medios de su sitio. Esto podría ser problemático si invita a muchos autores invitados. En este artículo, le mostraremos cómo restringir el acceso a la biblioteca de medios de WordPress a las cargas propias.

Restrinja el acceso a la biblioteca de medios de WordPress a las cargas propias del usuario

¬ŅPor qu√© restringir el acceso a la biblioteca multimedia a las cargas propias?

WordPress permite a los autores ver todos los archivos en la biblioteca de medios. También pueden ver imágenes cargadas por un administrador, editor u otros autores.

Para obtener más información, consulte nuestro artículo sobre roles y permisos de usuario de WordPress.

Supongamos que está creando una nueva publicación para anunciar un próximo producto u oferta. Los autores y autores invitados en su sitio web podrán ver las imágenes que cargue en ese artículo en la biblioteca de medios.

Sus cargas tambi√©n ser√°n visibles en la ventana emergente “Agregar medios” que los usuarios ven al agregar im√°genes a sus propios art√≠culos.

Para muchos sitios web, esto puede no ser un gran problema. Sin embargo, si ejecuta un sitio web de varios autores, es posible que desee cambiar esto.

Echemos un vistazo a cómo restringir fácilmente el acceso a la biblioteca de medios a las cargas propias.

Método 1: restringir el acceso a la biblioteca multimedia mediante un complemento

Este método es más fácil y se recomienda para todos los usuarios.

Lo primero que debe hacer es instalar y activar el complemento Restringir acceso a la biblioteca de medios. Para obtener más detalles, consulte nuestra guía paso a paso sobre cómo instalar un complemento de WordPress.

Este complemento funciona de f√°brica, y no hay configuraciones que pueda configurar.

Tras la activación, filtra la consulta de la biblioteca de medios para ver si el usuario actual es administrador o editor. Si el rol de usuario no coincide con ninguno de ellos, solo mostrará las cargas propias.

Los usuarios con el rol de administrador o editor podr√°n ver todas las cargas de medios como de costumbre.

Método 2: restringir el acceso a la biblioteca multimedia manualmente

El primer método funcionaría para la mayoría de los sitios web, ya que limita el acceso a la biblioteca de medios y permite que solo el administrador y el editor vean todas las cargas de medios.

Sin embargo, si desea agregar un rol de usuario personalizado o simplemente no desea usar un complemento, puede probar este método. Utiliza el mismo código utilizado por el complemento, pero podrá modificarlo para satisfacer sus necesidades.

Este método requiere que agregue código a sus archivos de WordPress. Si no ha hecho esto antes, eche un vistazo a nuestra guía sobre cómo copiar y pegar código en WordPress.

Deberá agregar el siguiente código a su archivo WordPress functions.php o un complemento específico del sitio.

// Limit media library access
 
add_filter( 'ajax_query_attachments_args', 'wpb_show_current_user_attachments' );

function wpb_show_current_user_attachments( $query ) {
    $user_id = get_current_user_id();
    if ( $user_id && !current_user_can('activate_plugins') && !current_user_can('edit_others_posts
') ) {
        $query['author'] = $user_id;
    }
    return $query;
} 

Este código utiliza la función current_user_can para verificar si el usuario tiene la capacidad de activar complementos o editar las publicaciones de otros usuarios. Si no lo hacen, cambia la consulta utilizada para mostrar archivos multimedia y la limita a la ID del usuario.

Esperamos que este artículo te haya ayudado a aprender cómo restringir el acceso a la biblioteca de medios de WordPress a las cargas propias. También puede limitar los autores a sus propias publicaciones en el área de administración de WordPress.

Si te gustó este artículo, suscríbete a nuestro canal de YouTube para ver videos tutoriales de WordPress. También puedes encontrarnos en Twitter y Facebook.