在this page中,我正在使用Contact Form 7插件(位于最底层)。
当我填写表格并按发送表格时,请永远加载。
有什么建议吗?
代码:
<p>您的姓名 〈需填寫〉<br />
[text* your-name] </p>
<p>您的電子郵件信箱 〈需填寫〉<br />
[email* your-email] </p>
<p>主旨<br />
[text your-subject] </p>
<p>您的信件內容<br />
[textarea your-message] </p>
<p>[submit "傳送"]</p>
(因为是一个Wordpress插件,所以代码并不是太多了。)
我正在使用Wordpress 3.0.1和联系表格7(3.3.1)
答案 0 :(得分:10)
<强>步骤:1 强>
转到ftp:
wp-content/plugins/contact-form-7/contact-form-7.php
在contact-form-7.php
<强>步骤:2 强>
查找
if ( ! defined( 'WPCF7_LOAD_JS' ) )
define( 'WPCF7_LOAD_JS', true);
Replace:
if ( ! defined( 'WPCF7_LOAD_JS' ) )
define( 'WPCF7_LOAD_JS', false );
上传您的文件并尝试完成。
答案 1 :(得分:4)
尝试使用其他联系表单插件,看看是否可以发送任何电子邮件。检查您的webhost错误日志中的php错误。
使用浏览器中的开发人员工具检查Javascript错误。联系表单7使用javascript进行某些表单处理,并且您可能存在Javascript冲突。
问题可能是服务器问题。询问您的webhost是否存在使用php邮件的问题。尝试使用php邮件手动发送电子邮件;见How to send an email using PHP?
此外,尝试WordPress › WP Mail SMTP « WordPress Plugins,它允许您通过SMTP测试发送电子邮件,并显示服务器操作的日志,这将使您可以找到问题。
答案 2 :(得分:1)
它可能与其他插件冲突,就像其他联系表单一样?在我的情况下,我使用MMForms-Community和Contact Form 7是原因..换句话说,我不能同时使用它们,因为它们在WP 3.0及更高版本中相互冲突。
答案 3 :(得分:1)
如上所述编辑 public **IServiceProvider** ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddDirectoryBrowser();
services.Configure<AppSettings>(Configuration.GetSection("AppSettings"));
var builder = new ContainerBuilder();
builder.Populate(services);
ServiceLayerInstaller.ConfigureServices(builder);
WorkerRoleInstaller.ConfigureServices(builder);
ApplicationContainer = builder.Build();
var autofacJobActivator = new AutofacJobActivator(ApplicationContainer, false);
GlobalConfiguration.Configuration.UseActivator(autofacJobActivator);
**return new AutofacServiceProvider(ApplicationContainer);**
}
有所帮助,但我的电子邮件不会到达我的收件箱,但它们在我发送的邮箱中。
与我的配置相似:
我可以使用发件人SMTP 中发件人位置的主电子邮件帐户而不是gmail别名将电子邮件发送到我的收件箱,因为主要是认证所需。
工作:来自:John-Doe@example.com致:info@example.com
无法使用:发件人:info@example.com致:info@example.com
以下文字来自与Google支持人员的聊天会话。
您必须使用其他域名的原因是因为Web表单混淆并尝试在您的Web主机而不是您的邮件主机上发送电子邮件,他们会在收件人中看到您的域名并说出& #34;嘿,这是托管网站的同一个域,它应该是相同的,让我们省下一些工作来查看域的MX记录,并让它留在这里#34;。
contact-form-7.php
字段需要是您的主电子邮件地址,因为它需要身份验证(别名无法进行身份验证),From:
字段必须最好是不是来自您的域名的电子邮件,例如测试别名{ {1}}。
如果您从网站发送的内容不同,那么当您使用Gmail网络邮件或邮件客户端时,它的删除行为就会消失。对于Web表单,请将电子邮件发送到测试TO:
。
答案 4 :(得分:1)
由于我不想编辑任何插件文件,因此我使用了过滤器选项:
// WPC7 forms were not submitting, this fixes that
add_filter( 'wpcf7_verify_nonce', '__return_true' );
add_filter( 'wpcf7_load_js', '__return_false' );
答案 5 :(得分:0)
我想补充VijaiJerald的回答。这个特殊的解决方案对我来说并不起作用,但是当我改变时,它确实起作用了:
if ( ! defined( 'WPCF7_LOAD_JS' ) ) {
define( 'WPCF7_LOAD_JS', true);
}
替换为:
if ( ! defined( 'WPCF7_LOAD_JS' ) ) {
define( 'WPCF7_LOAD_JS', false );
}
但也有以下几行:
if ( ! defined( 'WPCF7_VERIFY_NONCE' ) ) {
define( 'WPCF7_VERIFY_NONCE', false);
}
替换为:
if ( ! defined( 'WPCF7_VERIFY_NONCE' ) ) {
define( 'WPCF7_VERIFY_NONCE', true );
}
我还想注意,实际上没有其他解决方案对我有用(禁用所有插件,更改WP_DEBUG值,重置浏览器,重新安装Wordpress,更新和升级所有插件,禁用所有自定义CSS和JavaScripts等等... )所以这可能会帮助那些有这个问题的人。我还想注意,虽然它不能在我的笔记本电脑上工作(试过多个浏览器),但我手机上根本没有这个问题。
答案 6 :(得分:0)
通常无限加载是由您的主题中的问题引起的。您可以使用 javascript 和一段 css 覆盖 Contact Form 7 的样式/代码。 您可以使用以下 javascript 来解决此问题:
document.addEventListener( 'wpcf7submit', function( event ) {
jQuery('head').append('<style type="text/css">.aw-no-spinner:before{display:none!important}</style>');
jQuery('body').find('.processing').addClass('aw-no-spinner');
}, false );
jQuery('.wpcf7-submit').on('click', function( event ) {
jQuery('body').find('.processing').removeClass('aw-no-spinner');
});
在这个例子中,我们使用了联系表单 7 的内置钩子:wpcf7submit
当这个事件被触发时,我们的代码就会被执行。这段代码为联系表单 7 的加载包装器添加了一个额外的类。我们还向头部添加了一段 css,因此我们不必将其放在单独的 CSS 文件中。
我们还将此解决方案整合到了一个 WordPress 插件中,适用于不喜欢向其网站添加代码或没有子主题的用户。
这是插件的链接,但您也可以使用上述代码段。 https://wordpress.org/plugins/awcf7-stop-spinning/