我有一个评论表name
, email
, brief
, detailed
和rating
字段。
这个name
, email
, brief
和rating
需要是必需的,但后两个是自定义字段,我只能通过Javascript将它们设置为必需的,但我希望向这些字段添加适当的WordPress/PHP验证。
详细字段实际上是comment_field
这是当前必需的,但我想删除此字段的必需项,但我不想通过WordPress设置执行此操作,因为我仍然需要name
和email
待要求。
最合适的回答,由SO网友:Brooke. 整理而成
这是一个related question 这应该是你的答案。基本上,您希望使用pre_comment_on_post
钩
function custom_validate_comment() {
//validate for brief and rating
if( empty( $_POST[\'brief\']) || empty( $_POST[\'rating\']) )
wp_die( __(\'Error: you must fill in both the rating and the brief\') );
//make comment not required
if(empy($_POST[\'comment\']){$_POST[\'comment\'] == "empty_comment";}
}
add_action(\'pre_comment_on_post\', \'custom_validate_comment\');
function custom_change_comment( $commentdata ) {
if( $commentdata[\'comment\'] == \'empty_comment\' )
$commentdata[\'comment\'] = \'\';
return $commentdata;
}
add_filter(\'preprocess_comment\', \'custom_change_comment\');
这至少会让你走上正轨