按用户ID查询帖子

时间:2014-01-13 16:00:32

标签: php wordpress arguments author

我正在尝试按用户ID查询帖子。在这种情况下,用户ID将是另一篇文章的作者。

我确实尝试了以下内容,但是没有获得“作者参数”。

$author_id = $post->post_author;

$author_query_id = array('author='. $author_id, 'showposts' => '1', 'post_type'=> 'bedrijven', 'post_status' => 'any');
$author_posts_id = new WP_Query($author_query_id);

while($author_posts_id->have_posts()) : $author_posts_id->the_post();


if (get_field('standplaats')) { ?>
<div class="fieldje field-3"><p>
        <span>Standplaats: <?php echo the_field('standplaats'); ?></span>
    </p></div>
 <?php  } 
 endwhile; 

我得到的用户ID是正确的(在$ author_id中捕获)。但是在查询中它只是查询帖子类型'Bedrijven'的最后一篇文章,无论作者是谁。

知道为什么这不起作用吗?

谢谢!

3 个答案:

答案 0 :(得分:3)

您的数组格式不正确。

$author_query_id = array('author' => $author_id, 'showposts' => '1', 'post_type'=> 'bedrijven', 'post_status' => 'any');

我从您的=密钥中删除了author

我确定您已经看到了下面的WP_Query documents,但是这里有一个帮助将来的链接,以防万一。

答案 1 :(得分:1)

改为使用:

$author_query_id = array('author'=> $author_id, 'showposts' => '1', 'post_type'=> 'bedrijven', 'post_status' => 'any');

答案 2 :(得分:0)

使用此代码:

<?php

$args = array(
'post_type' => 'bedrijven',
'post_status' => 'publish',
'author'        =>  $current_user->ID,
'orderby'       =>  'post_date',
'order'         =>  'ASC',
'posts_per_page' => 1
);


$author_query = new WP_Query( $args ); 

while ( $author_query->have_posts() ) : $author_query->the_post();

$standplaats = get_field('your_field');

if ($standplaats) { ?>

<div class="fieldje field-3">
<p>
<span>Standplaats: <?php echo $standplaats ; ?></span>
</p>
</div>

<?php  }  endwhile; ?>