获取当前帖子所有评论的变量字段

时间:2012-12-14 作者:Vô Danh Vô Hình

如何获取a variable comment field 属于all comments 属于current post?

我想在当前帖子中显示所有(对于当前帖子)评论用户网站url。

谢谢你的帮助。

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

获取评论使用get_comments() 和当前帖子的ID。要获取URL字段,请仅使用wp_list_pluck().array_filter() 没有回调。

$comment_urls = array ();
$all_comments = get_comments( array ( \'post_id\' => get_the_ID() ) );

if ( $all_comments )
{
    $comment_urls = array_filter( 
        wp_list_pluck( $all_comments, \'comment_author_url\' ) 
    );
}
$comment_urls 现在是URL数组。别忘了使用esc_url() 当您将这些内容打印到页面中时。

您还可以筛选\'comments_clauses\' 仅使用非空URL字段查询注释。那可能更快。

add_filter( \'comments_clauses\', \'wpse_66056_get_urls_only\' );
function wpse_66056_get_urls_only( $sql )
{
    remove_filter( current_filter(), __FUNCTION__ );
    $sql[\'where\'] = $sql[\'where\'] . " AND comment_author_url != \'\'";
    return $sql;
}
$all_comments = get_comments(
    array (
        \'post_id\' => get_the_ID(),
    )
);
$comment_urls = wp_list_pluck( $all_comments, \'comment_author_url\' );

结束