Показать определенные медиа для определенной роли WordPress

Я ищу идеи о том, как показывать определенные медиа только определенным пользователям.

Я создал новую роль и возможность для этой роли, к которой я хотел бы прикрепить определенные медиафайлы. Так что люди в новой роли могут просматривать только те медиафайлы, которые ей назначены.

В конце концов, я создаю страницу, на которую люди будут входить, чтобы загружать документы. Я надеялся, что эти документы будут загружаться динамически, но если я не могу понять, что я прошу сделать выше, я просто жестко закодирую документы на странице.


person Nick    schedule 06.08.2012    source источник


Ответы (1)


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

Мы можем проверить, где они просматривают свои медиафайлы, если вы просто говорите о медиабиблиотеке по умолчанию в интерфейсе WP-Admin, тогда мы можем проверить URL-адрес, чтобы увидеть, находятся ли они на странице медиатеки.

Мы (скорее всего) разместим этот код в файле functions.php нашей темы или в нашем плагине, в зависимости от вашего дизайна.

//we need access to the $wp_query;
global $wp_query;

//now we build our function, we need to pass $wp_query into it
function manage_user_media($wp_query){

  //we check the location of the window
  if(strpos($_SERVER['REQUEST_URI'], '/wp-admin/upload.php') !== false ||
      strops($_SERVER['REQUEST_URI'], '/wp-admin/media-upload.php') !== false):

      //check if the logged in user has a capability of say...a level 5 user
      if(!current_user_can('level_5')):

          //this user does not have the capabilities of a level 5 user.
          //hijack the 'author' query var, so we can set it to the ID of our user
          $wp_query->set('author', get_current_user_id());

      endif;    

  endif;

}

Если вам непонятны уровни пользователей Wordpress, посмотрите Кодекс для сравнения.

Это означает, что любой пользователь с уровнем выше 5 может видеть [ВСЕ] элементы мультимедиа, тогда как любой пользователь с уровнем ниже 5 сможет просматривать только >[HIS OR HER] элементы мультимедиа.

person Ohgodwhy    schedule 07.08.2012
comment
Нет, я имел в виду просмотр мультимедиа на внешнем интерфейсе. Я думаю, что они решили не использовать логин, поэтому мне это больше не понадобится. Я очень ценю вашу помощь! Я не могу проголосовать за ваш пост, иначе я бы это сделал. Просто знайте, что я проголосовал в своей голове :). - person Nick; 08.08.2012