WordPress - 联系表格7 - 修改分析的php代码以注入自己的垃圾邮件检查



我已经打破了我的长矛搜索英语和俄语手册

信息: 我在Wordpress平台上运行网站。 它的联系方式是WordpressContactForm7。

问题: 垃圾邮件每天重复发送 5-7 次 通过联系表格到我的呼叫中心的电子邮件。

我的工作: 我在php中制作了简单的垃圾邮件过滤器,可以阻止常见的短语和电子邮件, 在邮件正文中发现的蜂鸣 - 使其垃圾邮件评级越来越热。

垃圾邮件级别 90% 之后的所有内容都将被阻止。 60% 之后的所有内容都必须阻止用户进入每天 1 封电子邮件模式

问题 : 我在WPCF7 phpcode中找不到任何合适的位置来注入我自己的。

我是wordpress的新手,只能找到两个入口点: 1( 数据处理者的虚拟地址 sitename.com/wp-json/contact-form-7/v1/contact-forms/46550/feedback 这是虚拟的,没有告诉我WPCF7进行服务器处理和发送到我的邮件的位置。

2(联系人表单-7插件的安装ZIP 它也有很多东西 - 我仔细地看了一遍——但我发现我无法在脑海中描绘出它的完整形象/

因此,我决定寻求经验丰富的编码人员的帮助,以展示处理该问题的不同方法。

附言 (注1 我有点害怕WP,更喜欢依靠自己的原始php技能和从零开始构建的代码结构。我m much better dealing the code done by me rather than somebody outers.(

(注意2 我听说 json api 很脆弱...

(注意3我害怕更新任何组件 - 原因是WP是由超级管理员控制和携带的 - 所以我的任何错误都可能是最后一个^(

请就这个话题咨询我,如果可能的话<3 谢谢

CF7 实际上有很多钩子和过滤器,比如wpcf7_skip_mailwpcf7_mail_sentwpcf7_before_send_mail等。

例如:

add_action( 'wpcf7_before_send_mail', 'wpcf7_my_before_send_mail' );
function wpcf7_my_before_send_mail( $wpcf7 ) {
// put your logic  code here
}

以下是跳过邮件的特别

之处
add_filter( 'wpcf7_skip_mail', function( $skip_mail, $contact_form ) {
if( /* your logic */ )
$skip_mail = true;
return $skip_mail;
}, 10, 2 );

结合这个逻辑,你也可以做一些类似的事情

add_action("wpcf7_before_send_mail", "wpcf7_do_something");  
function wpcf7_do_something($cf7) {
// this is the contact form object
$wpcf = WPCF7_ContactForm::get_current();
// exam0ple : ID of Form $wpcf->id
if (/*your logic here*/) {
// If you want to skip mailing... 
$wpcf->skip_mail = true;    
}
return $wpcf;
}

您还应该查看CF7 Docs,您可以找到一些其他对抗垃圾邮件的方法,例如ip_blacklist和其他提示

最新更新