如何显示某个用户发布的媒体? WordPress的

时间:2014-03-09 03:27:52

标签: wordpress media

如何在Wordpress中显示某位用户发布的媒体? 说我有循环...... 并且我使用get_the_author_meta()来检索用户inf 现在我想显示某个用户上传的所有图像。 不知道从哪里开始。 只想显示一个用户上传的图片列表。

3 个答案:

答案 0 :(得分:1)

您可以使用pre_get_posts过滤器并过滤查询..

答案 1 :(得分:1)

允许用户在上传页面中仅查看自己的附件的一个非常常见的代码是:

add_action('pre_get_posts','users_attachments');
function users_attachments( $wp_query_obj ) {

    global $current_user, $pagenow;

    if( !is_a( $current_user, 'WP_User') )
        return;

    if( 'upload.php' != $pagenow )
        return;

    if( !current_user_can('delete_pages') )
        $wp_query_obj->set('author', $current_user->id );

    return;
}

基于此,并删除您不需要的条件 - 您可以尝试:

   add_action('pre_get_posts','users_attachments');

    function users_attachments( $wp_query_obj ) {

            $wp_query_obj->set('author', '30' ); // ID of user , or any other meta..

        return;
    }

或过滤查询例如:

function user_files_only( $wp_query ) {


            global $current_user;
            $wp_query->set( 'author', '30' ); // ID of user , or any other meta..

}

add_filter('parse_query', 'user_files_only' );

这两个示例实际上都以某种方式更改了主查询,因此您可能希望在应用它之后删除该操作。不知道这将如何在循环中起作用。

答案 2 :(得分:0)

为某个在不同类别中发布媒体的用户提供用户x的标签,现在很容易如果有人按下该标签,那么特定用户上传的所有媒体都会逐一显示。(我的意思是你必须为user-x的所有帖子使用标签,为所有上传的媒体提供相同的标签)