“联系表格7”是一个WordPress联系表格插件。它可以管理多个联系表单,可自定义,支持Ajax支持的提交,CAPTCHA,Akismet垃圾邮件过滤等。
在联系表单7中:通知用户如果未输入电子邮件就提交表单,如果用户单击取消按钮然后停止提交表单,则显示确认框
在联系表格7中,电子邮件字段应该是可选的,并且应该说“电子邮件(可选)”以使其显而易见。如果有人尝试在未输入电子邮件的情况下提交消息,则...
我正在尝试使用联系表 7 的内置验证方法来验证电话号码。 联系表 7 标记: [号码* 您的电话号码 最小值:1000000000 最大值:9999999999 placehol... 我正在尝试使用联系表 7 的内置验证方法来验证电话号码。 联系表格7标记: <p>[number* your-telephone min:1000000000 max:9999999999 placeholder "Telephone number"] </p> <p>[submit "submit"]</p> 因此,我在这里尝试做的是使用号码输入类型的 min 和 max 属性来限制电话号码。但这里的问题是,如果我输入一个电话号码:0402356584,那么它小于最小值,但仍然是一个电话号码。 那么,如何设置最小值和最大值以支持所有可能的 10 位电话号码? 也欢迎任何与我的方法不同的其他解决方案。因为我有一种感觉,使用 min 和 max 属性无法完成验证。 我还尝试使用来自源的代码通过functions.php文件编辑插件文件,但这不起作用。 因此,如果有人有完美的解决方案来验证联系表 7 上的电话号码,请发布您的答案。 尝试一下这个,它肯定会按照 联系表 7 文档工作。 [number* your-telephone minlength:10 maxlength:140 placeholder "Telephone number"] 您可以使用 [tel* tel-672] 字段并根据您的要求通过 wpcf7_is_tel 过滤钩进行验证。 Contact form 7有许多预定义的钩子,通过它们您可以验证任何字段。这里,在Contact Form 7formatting.php模块中,验证规则是通过以下方法定义的。您可以通过apply_filters中提到的过滤器钩子覆盖它通过functions.php function wpcf7_is_tel( $tel ) { $result = preg_match( '/^[+]?[0-9() -]*$/', $tel ); return apply_filters( 'wpcf7_is_tel', $result, $tel ); } 请在您激活的主题文件夹中的functions.php中添加下面提到的代码,并将您的验证规则添加到$result // define the wpcf7_is_tel callback function custom_filter_wpcf7_is_tel( $result, $tel ) { $result = preg_match( '/^\(?\+?([0-9]{1,4})?\)?[-\. ]?(\d{10})$/', $tel ); return $result; } add_filter( 'wpcf7_is_tel', 'custom_filter_wpcf7_is_tel', 10, 2 ); 你可以看到更多 就我而言,以下代码有效。 重要的一点是输入类型应为“tel”,如下所示。 [tel your-telephone minlength:1 maxlength:10] 这适用于电话类型字段。如果您想使用数字或文本字段,则需要更改过滤器参数中的“wpcf7_validate_tel”以及代码。 function custom_phone_validation($result,$tag){ $type = $tag->type; $name = $tag->name; if($type == 'tel' || $type == 'tel*'){ $phoneNumber = isset( $_POST[$name] ) ? trim( $_POST[$name] ) : ''; $phoneNumber = preg_replace('/[() .+-]/', '', $phoneNumber); if (strlen((string)$phoneNumber) != 10) { $result->invalidate( $tag, 'Please enter a valid phone number.' ); } } return $result; } add_filter('wpcf7_validate_tel','custom_phone_validation', 10, 2); add_filter('wpcf7_validate_tel*', 'custom_phone_validation', 10, 2); 函数custom_phone_validation($结果,$标签){ $type = $tag['type']; $name = $tag['name']; if($name == '电话号码'){ $phoneNumber = isset( $_POST['phonenumber'] ) ?修剪( $_POST['电话号码'] ) : ''; $the_value = preg_match("/your_reg_exp 电话号码格式/",$_POST[$name]); if($phoneNumber == "" || $the_value == false ){ $result->invalidate( $tag, "请输入有效的电话号码" ); } } 返回$结果; } add_filter('wpcf7_validate_tel','custom_phone_validation', 10, 2); add_filter('wpcf7_validate_tel*', 'custom_phone_validation', 10, 2); 电话号码 -> 字段名称 对 function.php 文件尝试这个。 过滤器:https://plugins.trac.wordpress.org/browser/contact-form-7/trunk/modules/text.php wpcf7_validate_tel正在使用该功能wpcf7_validate_tel( $result, $tag ) 试试这个: [tel your-phone minlength:10 maxlength:140] 祝你好运!! 楚查! 我想我有很好的解决方法... 默认情况下,数字字段没有 minlength 和 maxlength 验证器。 您可以从 wp-content/plugins/contact-form-7/modules/text.php 复制它们 $atts['maxlength'] = $tag->get_maxlength_option(); $atts['minlength'] = $tag->get_minlength_option(); (在 wpcf7_text_form_tag_handler 函数中)...和验证过滤器 $code_units = wpcf7_count_code_units( stripslashes( $value ) ); if ( $maxlength && $maxlength < $code_units ) { $result->invalidate( $tag, wpcf7_get_message( 'invalid_too_long' ) ); } elseif ( $minlength && $code_units < $minlength ) { $result->invalidate( $tag, wpcf7_get_message( 'invalid_too_short' ) ); } (在 wpcf7_text_validation_filter 函数中) 现在将其粘贴到numbers.php中的正确位置。 所以在 wpcf7_number_form_tag_handler 函数中 atts 看起来像: $atts['class'] = $tag->get_class_option( $class ); $atts['id'] = $tag->get_id_option(); $atts['tabindex'] = $tag->get_option( 'tabindex', 'signed_int', true ); $atts['min'] = $tag->get_option( 'min', 'signed_int', true ); $atts['max'] = $tag->get_option( 'max', 'signed_int', true ); $atts['step'] = $tag->get_option( 'step', 'int', true ); $atts['maxlength'] = $tag->get_maxlength_option(); $atts['minlength'] = $tag->get_minlength_option(); wpcf7_number_validation_filter 函数以: 结尾 if ( $tag->is_required() && '' == $value ) { $result->invalidate( $tag, wpcf7_get_message( 'invalid_required' ) ); } elseif ( '' != $value && ! wpcf7_is_number( $value ) ) { $result->invalidate( $tag, wpcf7_get_message( 'invalid_number' ) ); } elseif ( '' != $value && '' != $min && (float) $value < (float) $min ) { $result->invalidate( $tag, wpcf7_get_message( 'number_too_small' ) ); } elseif ( '' != $value && '' != $max && (float) $max < (float) $value ) { $result->invalidate( $tag, wpcf7_get_message( 'number_too_large' ) ); } elseif ( $maxlength && $maxlength < $code_units ) { $result->invalidate( $tag, wpcf7_get_message( 'invalid_too_long' ) ); } elseif ( $minlength && $code_units < $minlength ) { $result->invalidate( $tag, wpcf7_get_message( 'invalid_too_short' ) ); } return $result; 根据其他解决方案,优选最小长度为 10,以确保访问者在提交的内容中包含区号。我还允许使用 15 个字符,以防访问者包含国家/地区代码和破折号“+1 555-555-5555” [tel* your-phone minlength:10 maxlength:15] function custom_phone_validation($result,$tag){ $type = $tag->type; $name = $tag->name; if($type == 'tel' || $type == 'tel*'){ $phoneNumber = isset( $_POST[$name] ) ? trim( $_POST[$name] ) : ''; //$phoneNumber = preg_replace('/[() .+-]/', '', $phoneNumber); if (preg_match("/^(\+?61-?)/", $phoneNumber)) { //$result->invalidate( $tag, 'Please enter a valid phone number.' ); } else if(preg_match("/^(\+?04-?)/", $phoneNumber)) { } else { $result->invalidate( $tag, 'Please enter a valid phone number.' ); } } return $result; } add_filter('wpcf7_validate_tel','custom_phone_validation', 10, 2); add_filter('wpcf7_validate_tel*', 'custom_phone_validation', 10, 2);
Wordpress 联系表 7 - 如何获取正确的电话号码?
我正在 WordPress 网站上使用联系表单,它有电话号码字段。我遇到的问题是甚至错误的数字 13、14 字符也被提交。 我怎样才能将其限制为...
如何在 WordPress 联系表单 7 插件中创建自定义手机号码验证是否可能,请帮助我。 实际上我只想只允许有效的手机号码此字段不接受任何其他
wpcf7_before_send_mail 中的自定义错误消息
我正在使用联系表单 7 及其 wpcf7_before_send_mail 操作在发送电子邮件之前与 API 进行交互。如果 API 返回错误,我希望能够捕获该错误,将其显示为 ...
使用联系表单 7 将标签文本添加到 Wordpress 站点中的单选按钮
我正在尝试改进我的网站,使其更易于访问并符合 WCAG 2.0(AA 级)指南。这是一个使用 Contact Form 7 创建表单的 WordPress 网站。默认情况下,联系...
在 Contact Form 7 表单中,我需要一些动态复选框。 与复选框关联的数据来自用户元。 我让复选框以这种方式工作。 在联系表中我有: [复选框*
如何获取用户在联系表7中输入的内容并在发送前进行更改?我有一个输入字段,当用户提交数据时,我必须对其进行验证,如果有任何需要更改的内容,我会...
我的主题联系表 7 遇到问题,当我尝试将鼠标悬停在可点击项目 [姓名、电子邮件、电话] 上时,它们不可点击。 对于消息正文来说,情况并非如此,我可以在其中输入...
我需要控制发送表单,因为客户点击了很多次,表单发送了很多次,我尝试阻止第一次点击发送按钮,我尝试这样做: 方法1 jQuery(“.wpcf7-form...
我有一个运行 Abiko 主题网站的 Wordpress 4.9.20。 我有一个联系表单 7,当我提交它时,它抛出以下错误: {进入:“#wpcf7-f15498-p7-o1” 消息:“有一个
我使用插件“发布我的 CF7 表格” 我有一个包含“姓名”和联系人“电话”的表格,在 sumbit 插件发布标题为“姓名”的帖子后 我有这段代码来创建一个用户名为“phone”的用户
我使用此联系表单 7 生成更多自定义表单,但在我所做的测试中,我收到一封没有内容的邮件。我该如何解决这个问题? 您的姓名(必填) [文字*...
抱歉我的英语不好,我有一个问题:我有一个表单,一个字段我存储数据,我想隐藏它,我曾经在联系表单 7 中标记隐藏,但它不起作用 我的设置联系表 7:
不工作:Wordpress Contact Form 7 (CF7) 插件在“wpcf7_before_send_mail”内添加 is_page 条件
我已经在Wordpress主题functions.php中编写了这段代码,但是is_page()不起作用。每次都会出现其他情况。我有JS解决方案,但要求是PHP解决方案。 添加行动...
recaptcha 在我的联系页面中工作正常。但弹出窗口中还有其他两种形式。验证码没有显示。 recaptcha 在我的联系页面中工作正常。但弹出窗口中还有其他两种形式。验证码没有显示。<div class="g-recaptcha" data-sitekey="***********************"></div> 这可能不是您的问题,但请仔细检查以确保有问题的页面正在加载 Google reCAPTCHA JS(https://www.google.com/recaptcha/api.js 在撰写本文时) . 在我的例子中(顺便说一句,使用放大弹出窗口),Google reCAPTCHA JS 脚本没有加载到演示问题的页面上。 Contact From 7 reCAPTCHA 插件中的这段代码出现故障,是问题的根源: function wp_footer() { if( count( $this->ids ) ) { wp_print_scripts('contact_form_7_recaptcha_script'); } } 我注释掉了if()声明: function wp_footer() { // Commented out to ensure that the JS is always loaded, regardless of the value of `$this->ids`. // if( count( $this->ids ) ) // { wp_print_scripts('contact_form_7_recaptcha_script'); // } } 现在,reCAPTCHA JS 始终加载,并且 reCAPTCHA 元素出现在弹出窗口中的联系表单中。 您应该使用“Popup Maker”插件在弹出窗口中打开重力形式。否则,您的验证码将无法在弹出窗口中运行。 插件 URI:https://wordpress.org/plugins/popup-maker/
Wordpress contactform7 如何将信息传递到电子邮件?
我在 contactform7 中创建了自定义复选框。看起来不错,可以勾选复选框,但提交后不会将信息发送到蚂蚁邮箱。有什么想法如何通过它吗? 复选框的代码: <
ContactForm7 CF7。如何在感谢页面中添加联系表单中收到的电子邮件?
我需要找到一种方法,将发件人在 CF7 联系表上留给我的电子邮件带到我的 WordPress 网站的感谢页面上。发件人电子邮件需要在应用程序的文本中可见...
在 WordPress 的联系表格 7 中输入时无法更改字体颜色
相关网站:https://snapsbylia.com/contact-form-7/ 我正在尝试在打字时将文本颜色更改为白色而不是黑色。 我找到了一个应该改变文本颜色的代码......
WordPress 联系表单 7 - 在同一行显示标签和输入字段
我使用 Contact Form 7 插件创建了一个表单。我用图像替换了标签。现在我想在同一行显示标签和输入字段。 我得到这个结果: 目前...