检查评论是否已成功提交

时间:2016-07-14 作者:anton

有没有办法检查评论是否已成功提交?我想显示一些文本或隐藏评论表单,例如,如果成功提交了评论。

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

如果评论提交成功,Wordpress会在URL中添加标签。隐藏注释表单或显示某些信息的最简单方法是检查Javascript是否存在哈希。

hash = window.location.hash;
if(hash){
    $(\'#commentform\').hide();
}

SO网友:JMau

你有这个动作comment_post 在注释插入数据库后立即激发

SO网友:Arpita Hunka

下面的示例使用comment\\u post挂钩在发布注释后立即运行函数。该函数检查注释是否已批准,如果已批准,则执行指定的代码。

function show_message_function( $comment_ID, $comment_approved ) {
if( 1 === $comment_approved ){
    //function logic goes here
}}add_action( \'comment_post\', \'show_message_function\', 10, 2 );
请注意,add\\u操作行包括优先级和参数数量(、10、2)。如果我们不考虑参数的数量,我们将只能访问函数中的第一个参数($comment\\u ID)。我们将无法访问第二个参数($comment\\u approved)。

有关更多参考,请查看comment_post 挂钩连杆。

SO网友:Arpita Hunka

我用下面的方法试过了,你可以试一下。。。。

将以下代码放入函数中。php

function hide_comment_form_function( $comment_ID, $comment_approved ){  
$commentData = get_comment( $comment_ID );
$postTitle = get_the_title($commentData->comment_post_ID);
$url = get_site_url() ."/" .$postTitle . "/?status=cmt_post";
header("Location: $url");
exit();}add_action( \'comment_post\', \'hide_comment_form_function\', 10, 2 );
以及标题中的以下代码。php

if(isset($_GET[\'status\']) &&  ($_GET[\'status\'] == "cmt_post")){
?>
<style>
#commentform, #reply-title
{
    display: none;
}
</style>
<?php}
这将在提交评论后隐藏评论表单。