我如何才能分别显示同一帖子的正面和负面评论?

时间:2016-06-14 作者:suraj kumar

我正在开发一个页面,在该页面中,用户可以选择是希望看到正面反馈,还是只希望看到负面反馈。

每当任何用户打开帖子并将光标移到内容上时,都会产生悬停效果,内容的一半会有正面评论,另一半会有负面评论。最初,下面不会显示任何注释。

如果用户点击正面悬停部分,那么所有正面评论都会显示在页面底部(不会将用户重定向到任何其他页面),他也可以发布自己的评论。

有可能吗?谁能给我一点提示,我怎么能做这样的事?

我只是还没有开始编码,我只是不知道如何才能做到。

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

好吧,注释(如果我记得正确,并且v4中没有任何更改)是自定义的帖子类型,因此您可以向其中添加post\\u meta,如response => true (阳性)或false (否定)。

然后你可以进行自定义查询(WP_Comment_Query ) 使用元参数(ak。Custom Field Parameters )

你需要2个查询,1个返回正面评论,2个返回负面评论。。

其他一切取决于您的设计。。

啊,是的。当发布评论时,你需要创建一些字段来保存帖子,无论是正面的还是负面的。。。

Elaborating my answer:

好的,例如,在前端(FE)u have表单上,witch向某个帖子提交评论。你需要(如果你还没有)一些字段来确定什么是“好”或“坏”的评论。让我们调用这些字段response (让我们想象一下,这是一个单选按钮,有两个选择:goodbad 作为值)。

然后,当用户提交表单时,他必须选择一个单选按钮,在php端(后端),您将得到他的答案(string) $_POST[\'response\'].现在你有了一个变量$response 其中包含1个单选按钮值。

接下来,u需要在数据库中插入新注释(例如使用wp_insert_comment 函数)它将返回新的注释ID。

接下来,你需要存储你的response 对这些注释使用add_comment_meta 传递新注释ID的函数,UNIQUE名称表示response 输入数据库(例如:_response ) 和一个值($响应)(最后一个参数-唯一,最好是真实的)。。。

所以,现在数据库中有了注释,数据库中有了注释元。

现在,您可以查询数据库以获取某些帖子/页面的所有评论,如下所示:

<?php
$args = array(
   \'post_id\' => get_the_id(), // or if u have some variable u could use it to get all comments from post/page
   \'meta_key\' => \'_response\', // from add_comment_meta - unique name representing key in database
   \'meta_value\' => \'good\' // "good" or "bad" or whatever u desire to be
);

// The Query
$comments_query = new WP_Comment_Query;
$comments = $comments_query->query( $args );

// Comment Loop
if ( $comments ) {
    foreach ( $comments as $comment ) {
        $response = get_comment_meta( $comment->comment_ID, \'_response\', true ); // store response to $response variable for later use
        echo \'<p>\' . $comment->comment_content . \'. <span>These comment is:\' . $response . \'</span></p>\'; // the output of a comment
    }
} else {
    echo \'No comments found.\';
}
?>
这样,你可以得到两个不同的查询,一个是好的评论,另一个是坏的评论,并在页面的不同位置(左侧、右侧)进行回应。

基本上,它与CPT和get\\u post\\u meta-only评论相同。。。如果你能思考如何用特定的元值查询CPT,那么你可以通过注释来完成。。

相关链接:https://codex.wordpress.org/Class_Reference/WP_Comment_Queryhttps://codex.wordpress.org/Function_Reference/add_comment_meta

如果您有什么问题,请随时提问。。

相关推荐

GET_POSTS查询大约需要40秒来执行

我在get\\u帖子中有一个元查询,它需要花很长时间才能完成。它工作得很好,但只是时间太长了。我有一个名为event. 在每个event 发布后,有自定义元数据:post\\U sort\\U日期(事件日期YmdHis 格式,用于排序)我需要做的是获取下一个事件,该事件相对于$year 和$month 变量。所以如果$year = 2021 和$month = 10 (2021 10月)然后应该在2021 11月或之后找到第一个事件。我下面的查询很好,但很慢。执行大约需要40秒,我不知道为什么。$next