《WordPress 限制不同用戶角色可上傳的文件類型及大小》已經(jīng)詳細(xì)介紹了用戶上傳的問(wèn)題,今天分享下在 WordPress 媒體庫(kù)只顯示用戶自己上傳的文件 的方法。在當(dāng)前主題的 functions.php 文件添加下面的代碼:
/**
* WordPress 媒體庫(kù)只顯示用戶自己上傳的文件
* http://www.ydqwiac.cn/view-user-own-media-only.html
*/
//在文章編輯頁(yè)面的[添加媒體]只顯示用戶自己上傳的文件
function my_upload_media( $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' ) && !current_user_can('manage_media_library') )
$wp_query_obj->set('author', $current_user->ID );
return;
}
add_action('pre_get_posts','my_upload_media');
//在[媒體庫(kù)]只顯示用戶上傳的文件
function my_media_library( $wp_query ) {
if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/upload.php' ) !== false ) {
if ( !current_user_can( 'manage_options' ) && !current_user_can( 'manage_media_library' ) ) {
global $current_user;
$wp_query->set( 'author', $current_user->id );
}
}
}
add_filter('parse_query', 'my_media_library' );
最終效果:非管理員用戶 在文章編輯頁(yè)面的[添加媒體]窗口(下圖1) 和 多媒體 管理界面(下圖2)只顯示自己上傳的文件(還不能修正媒體數(shù)量顯示)


如果誰(shuí)知道如何修正多媒體管理界面的媒體數(shù)量顯示,希望告知。
如果大家不想折騰代碼的,也可以試試 View Own Posts Media Only 插件。
聲明:本站所有文章,如無(wú)特殊說(shuō)明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺(tái)。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。





我添加了這段代碼,功能實(shí)現(xiàn)了.可是登陸界面的布局怎么不規(guī)則了呢?
編輯 functions.php 有很多需要注意的地方,請(qǐng)自己看一下http://www.ydqwiac.cn/wordpress-functions-php.html
能不能實(shí)現(xiàn)只在已注冊(cè)的用戶,在前端就能上傳和下載文件。而游客不能下載文件。