只是想分享与@birgire answer相关的其他行为。
根据当前答案,如果用户没有给出任何评论,post__in
获取值0
这是盲目地退回所有帖子。
为了避免这种情况,我们应该检查post__in
数组是否为空。。。
<?php
$post__in = wp_list_pluck( get_comments( array( \'user_id\' => get_current_user_id() ) ),\'comment_post_ID\' );
if ( ! empty( $post__in ) ) {
$args = array(
\'post_type\' => \'question\',
\'posts_per_page\' => -1,
\'post__in\' => array_unique(
wp_list_pluck(
get_comments( array(
\'user_id\' => get_current_user_id()
)
),
\'comment_post_ID\'
)
),
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
echo \'<ul>\';
while ( $query->have_posts() ) {
$query->the_post();
the_title( \'<li>\', \'</li>\' );
};
echo \'</ul>\';
};
wp_reset_postdata();
};
参见
Why is WordPress showing query results from an empty post__in array? 有关详细信息,请参见