开发Wordpress主题是经常会遇到权限分配,且只显示作者相关的文章及附件。
其中附件的获取方式有很多,这里推荐:ajax_query_attachments_args。

官方说明

The ajax_query_attachments_args filter is used to filter the query that fetches the attachments displayed in the media library modal on the post edit screen.

示例

作用于无法激活插件,不能编辑他人文章的这种权限的用户,其媒体库里只显示该作者自己的图片及附件。

add_filter('ajax_query_attachments_args', 'show_current_user_attachments');

function show_current_user_attachments($query = array())
{
    $user_id = get_current_user_id();
    if ($user_id && !current_user_can('activate_plugins') && !current_user_can('edit_others_posts')) {
        $query['author'] = $user_id;
    }
    return $query;
}