我在WordPress上使用WP表单,我希望添加一个自定义蜜罐,作为防止垃圾邮件涌入的额外一层保护。
为了以简单有效的方式实现这一点,我以隐藏的display: none;的形式创建了一个name字段--所以理论上这应该意味着,如果这个字段被填充,那么它很可能总是垃圾邮件。
我相信我做了这个工作,但是我注意到,不管隐藏的名字字段是真还是假,表单都不再提交。
我不确定这是由于最近更新的WP表单插件,或与我正在使用的功能问题。
有没有人知道如何做到这一点,或对此提出任何建议?
谢谢
function forms_custom_honeypot( $honeypot, $fields, $entry, $form_data ) {
$honeypot_class = 'fancy-name-field';
$honey_field = false;
foreach( $form_data['fields'] as $form_field ) {
if( false !== strpos( $form_field['css'], $honeypot_class ) ) {
$honey_field = absint( $form_field['id'] );
}
}
if( !empty( $entry['fields'][$honey_field] ) ) {
$honeypot = 'Custom honeypot';
}
return $honeypot;
}
add_filter( 'wpforms_process_honeypot', 'forms_custom_honeypot', 10, 4 );归功于@billerickson for forms_custom_honeypot。
发布于 2022-08-01 16:03:44
在这里报告,我已经成功地使用了比尔的脚本在网站上很长时间,但它似乎不适用于新的网站,我正在与一个完整的网站编辑主题。我认为这是FSE的事情,而不是WP6的事情,因为运行6+的旧网站运行良好。
https://stackoverflow.com/questions/72845013
复制相似问题