WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Отображать только свои файлы в библиотеке файлов.

Всем доброго времени суток. Подскажите пожалуйста.

В общем на сайте зарегистрировано много пользователей, у каждого права автора, они могут публиковать посты, но мне не совсем нравится то, что когда, например, пользователь добавляет пост, он нажимает на кнопку "Добавить медиафайл", открывается библиотека файлов и там отображаются все файлы, которые были загружены другими пользователями. Хотелось бы сделать так, чтобы каждый пользователь в этом редакторе видел только свои изображения, которые он сам загружал, возможно такое? Буду благодарен за ответ mosking

0
dotprog
9 лет назад 3
  • 1
    stepan2278 www.weblancer.net/users/stepanko/?affili...

    Да, такое возможно.
    Код вставляем в functions.php

    /* Проверяем роль определенного пользователя. */
    function check_user_role( $role, $user_id = null ) {
    
    	if ( is_numeric( $user_id ) )
    	$user = get_userdata( $user_id );
    	else
    		$user = wp_get_current_user();
    
    	if ( empty( $user ) )
    	return false;
    
    	return in_array( $role, (array) $user->roles );
    }
    
    if ( check_user_role('author') && is_admin() ) {
    	add_action('pre_get_posts', 'posts_request_custom');
    }
    
    /* АдминПанель: показываем посты только текущего автора */
    function posts_request_custom( $query ) {
    	$query->set('author', get_current_user_id() );
    }
    stepan 9 лет назад

    Вместо функции check_user_role можете по-другому проверять роль текущего пользователя.

    stepan 9 лет назад

    Не забывайте ставить "+1" (говорить спасибо) wink

    dotprog 9 лет назад

    Круто! Спасибо большое!

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация