我有一个网页,我想显示某位作者上传的图片。
在后端,如果我查看媒体,每个图像都有一个'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()
所有文件。
答案 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();
?>