2012-08-06 54 views
1

我在尋找關於如何僅向特定用戶顯示特定媒體的想法。針對特定的WordPress角色顯示特定媒體

我已經爲該角色創建了一個新的角色和功能,我希望在其中附加特定的媒體文件。以便新角色的人員只能查看分配給它的媒體。

最後,我創建的是一個人們將登錄以下載文檔的頁面。我希望能夠動態地提取這些文檔,但如果我無法弄清楚上面要做的事情,我只會將文檔編碼到頁面中。

回答

0

嗯......至於向特定用戶展示只有某些媒體而言...

我們可以檢查他們正在觀看在他們的媒體,如果你只是談論的默認媒體庫在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 User Levels are confusing to you, have a look at the Codex for comparison

這意味着,任何人在第5級的用戶可以看到[ALL]媒體元素,其中如下5級用戶的人,將僅能夠查看僅[他或她的]媒體元素。

+0

不,我指的是在前端查看媒體。我認爲他們決定不使用登錄,所以我不再需要這個了。我非常感謝你的幫助!我不能upvote你的帖子,否則我會的。只要知道我在我的腦海裏投票:)。 – Nick 2012-08-08 18:29:46