单个页面中的多个评语表单

时间:2015-11-27 作者:Antoine Dionne

我想在我的wordpress网站上的每个页面上都做一个“评论”部分。

所以如果你去http://www.lolcounter.com/champions/lee-sin,你可以在页面顶部看到“一般计数器提示”,下面有4条注释。

还有更多的评论,如果你点击“查看更多计数器提示”,你可以看到它,如果你点击“提交计数器提示”,你可以发布提示。

我的问题是,我如何用wordpress制作类似的东西?实际上,我有多个页面,我想在它们上添加此功能,但所有这些页面都需要有不同的注释。

我是用自定义的帖子类型制作的吗?或者我将所有内容都添加到数据库的表中?或者还有其他方法吗?

谢谢你的帮助:)!

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

您可以通过number 参数到get_comments() 仅检索特定数量的注释。按照标准,它们将按降序排列,因此您首先会得到最新的评论。

由于WordPress会自动将每篇文章的评论分开,所以您不必担心评论混淆。这对我来说似乎是最简单的方法。

Multiple comment forms per page -> Passing Post ID

如果在一个页面上需要多个评论表单,可以使用多个get_comments(), 但是您必须为要显示的评论传递帖子ID。

示例:

$postID = 4;
$number_of_posts = 6;

$args = array(
    \'number\' => $number_of_posts,
    \'post_id\' => $postID
);

$your_comments = get_comments($args);

Make it dynamic -> Extract IDs from post_meta and loop over them

帖子ID以逗号分隔保存在名为commentIDs, 代码将放置在single.php 例如

// get IDs for current post
$cmmntIDs = get_post_meta($post->ID, \'commentIDs\', true);
$theIDs = explode(\',\', $cmmntIDs);

// get comments for each ID you defined
foreach($theIDs as $theID) {
    $args = array(
        \'number\' => $number_of_posts,
        \'post_id\' => $theID
    );
    $comments = get_comments($args);

    // basic output from the Codex Page on get_comments()
    foreach($comments as $comment) {
        echo($comment->comment_author);
    }
}