Cách 1: Cách chống spam bằng field ẩn
/*Thêm 1 field ẩn vào form cf7*/
add_filter('wpcf7_form_elements', 'lbk_check_spam_form_cf7');
function lbk_check_spam_form_cf7($html){
$html = '<div style="display: none"><p><span class="wpcf7-form-control-wrap" data-name="devvn"><input size="40" class="wpcf7-form-control wpcf7-text" aria-invalid="false" value="" type="text" name="lbk"></span></p></div>' . $html;
return $html;
}
/*Kiểm tra form đó mà được nhập giá trị thì là spam*/
add_action('wpcf7_posted_data', 'lbk_check_spam_form_cf7_vaild');
function lbk_check_spam_form_cf7_vaild($posted_data) {
$submission = WPCF7_Submission::get_instance();
if (!empty($posted_data['lbk'])) {
$submission->set_status( 'spam' );
$submission->set_response( 'You are Spamer' );
}
unset($posted_data['lbk']);
return $posted_data;
}