Wordpress循环媒体“上传者”

时间:2015-06-06 22:53:28

标签: php wordpress loops gallery author

我有一个网页,我想显示某位作者上传的图片。

在后端,如果我查看媒体,每个图像都有一个'Uploaded By'属性,然后它表示作者的姓名。

example http://www.discoveryourwonder.com/wp-content/uploads/2015/05/sg.png

我尝试过使用这个循环:

<?php
// The Query
$args = array(
   'author'      => $author_name_variable, // Replace with author id
   'post_status' => 'any',
   'post_type'   => 'attachment'
);
$the_query = new WP_Query( $args );

// The Loop
if ( $the_query->have_posts() ) {
    echo '<ul>';
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        echo '<li>' . the_content() . '</li>';
    }
    echo '</ul>';
} else {
    // no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
?>

这是非常错误的。有些作者会显示每个媒体文件,有些则没有;其余的都是不准确的。这是一个真正的盲目镜头:/

目标是遍历所有媒体文件,然后使用相应的上传者名称发布the_content()所有文件。

1 个答案:

答案 0 :(得分:0)

如果有人可以评论为什么ID比'author'参数中的slug更可靠,我将不胜感激。

我找到了解决方案。显然,'author'参数不喜欢用户名,因此我将其转换为ID并且现在可以正常工作。我使用get_user_by( 'slug', $username );获取特定用户名的所有信息,然后将该数组分配给变量。然后,我将变量过滤为仅使用ID并通过参数传递。

这是工作循环:

<?php
// The Query
$profileid = get_user_by( 'slug', $username );
$args = array(
   'author'      => $profileid->id, // Replace with author id
   'post_status' => 'inheret',
   'post_type'   => 'attachment'
);
$the_query = new WP_Query( $args );

// The Loop
if ( $the_query->have_posts() ) {
    echo '<ul>';
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        echo '<li>' . the_content() . '</li>';
    }
    echo '</ul>';
} else {
    // no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
?>