Restringir Acesso à Biblioteca de Mídia por Usuário no WordPress

ActionPHP
O código fornecido restringe o acesso à biblioteca de mídia no WordPress, permitindo que os usuários vejam e gerenciem apenas as mídias que eles próprios carregaram. Esta função é particularmente útil em ambientes multiusuários, onde é desejável manter as mídias dos usuários separadas e organizadas individualmente.

Como instalar

  1. Copie o código fornecido.
  2. Cole o código no arquivo functions.php do seu tema WordPress ou em um plugin de funcionalidades personalizadas.
  3. Salve o arquivo e verifique o comportamento da biblioteca de mídia com diferentes níveis de usuário.

Explicando o código

  • function wpturbo_restrict_media_library( $wp_query_obj ) {...}: Define uma função chamada wpturbo_restrict_media_library, que será acionada antes de a query de posts ser executada.
  • global $current_user, $pagenow;: Declara as variáveis globais $current_user e $pagenow.
  • if( !is_a( $current_user, 'WP_User') ) { return; }: Verifica se o usuário atual é um objeto de usuário válido.
  • if( 'admin-ajax.php' != $pagenow || $_REQUEST['action'] != 'query-attachments' ) { return; }: Certifica-se de que a função só seja executada na página de requisições AJAX quando a ação é para consultar anexos.
  • if( !current_user_can('manage_options') ) {...}: Verifica se o usuário atual não tem a capacidade de gerenciar opções (ou seja, não é um administrador).
  • $wp_query_obj->set('author', $current_user->ID );: Modifica a query para que apenas os anexos carregados pelo usuário atual sejam retornados.
  • add_action('pre_get_posts', 'wpturbo_restrict_media_library');: Aciona a função wpturbo_restrict_media_library antes de a query de posts ser executada.

Códigos

Functions (php)

				
					function lab1_restrict_media_library( $wp_query_obj ) {
    global $current_user, $pagenow;
    if( !is_a( $current_user, 'WP_User') ) { return; }
    if( 'admin-ajax.php' != $pagenow || $_REQUEST['action'] != 'query-attachments' ) { return; }
    if( !current_user_can('manage_options') ) {
        $wp_query_obj->set('author', $current_user->ID );
    }
    return;
}
add_action('pre_get_posts', 'lab1_restrict_media_library');

				
			

Relacionados

Redirecionar para o Próximo Post Após um Número de Segundos Específico

Este código PHP permite redirecionar automaticamente os visitantes...
FunctionsPHP

Redirecionar para o Próximo Post Automaticamente

Este código PHP e JavaScript permite redirecionar automaticamente...
FunctionsPHP

Remover Logo do WP da Página de Login e Barra Admin

Este código remove o logotipo do WordPress da...
FunctionsPHP

Fale com a Lab1