上下文:当访问者在Wordpress中提交评论表单时,我想验证preprocess_comment中的数据。如果不满足某些参数,我想要做三件事:
我试图做这样的事情:
function myplugin_validate($comment) {
add_action('comment_form_logged_in_after', 'comment_form_captcha_field');
return $comment;
}
add_action('preprocess_comment', 'myplugin_validate');
function comment_form_captcha_field() {
echo "....";
}
这种方法不会起作用:
无法在preprocess_comment中停止流程 由于从不调用comment_form_captcha_field(),因此您无法使用用户提交的值返回预填充的评论表单。
当然有"脏"替代方法,例如将提交的值存储在会话中,从preprocess_comment(wp_redirect)重定向用户,并在重新加载页面后从会话中捕获值。或者我可以通过JS拦截提交处理程序并从那里开始。
我想知道是否有办法在Wordpress中挂钩评论系统,并且无需借助javascript,会话等等就可以做到这一点。