这将取决于主题如何处理保存注释。例如,如果它通过ajax提交表单,它将期望得到某些返回。
我可能会通过pre_comment_approved
滤器根据之前提交的帖子检查收到的电子邮件,如果失败,则返回未经批准的邮件。
function pre_comment_approved_handler( $approved, $commentdata ) {
$comments = get_comments( array(
\'post_id\' => $commentdata[\'comment_post_ID\'],
\'author_email\' => $commentdata[\'comment_author_email\']
) );
if( !empty($comments) )
$approved = 0;
return $approved;
}
add_filter( \'pre_comment_approved\' , \'preprocess_comment_handler\', 10, 2 );
未经测试,但类似的东西应该可以直接阻止它。请记住,电子邮件通常是可选字段。
当注释作为挂钩和过滤器涉及到用户时,向用户添加验证反馈将是一个问题,因为这些挂钩和过滤器实际上并不存在。最好的方法是通过ajax提交表单,并在此时检查电子邮件,如果它没有发表帖子,那么您可以手动创建评论。这样,您就可以完全控制用户体验。