【发布时间】:2021-06-28 17:36:28
【问题描述】:
在我的项目(WordPress 上的网站)中,我添加了一个联系表格 7,当我点击发送按钮然后它转到页面顶部并且整个页面正在重定向,但我只想刷新联系表格 7 并提交值类似于名称、消息、电子邮件。请帮助...提前致谢。
【问题讨论】:
-
这个问题应该在 Contact Form 7 支持论坛上提问
标签: wordpress plugins contact-form-7
在我的项目(WordPress 上的网站)中,我添加了一个联系表格 7,当我点击发送按钮然后它转到页面顶部并且整个页面正在重定向,但我只想刷新联系表格 7 并提交值类似于名称、消息、电子邮件。请帮助...提前致谢。
【问题讨论】:
标签: wordpress plugins contact-form-7
确保你打过电话
<?php wp_footer(); ?>
在您的页脚中,这就是联系表单 7 的 AJAX 文件进入您的主题的方式。
【讨论】:
这取决于你的 CSS 和 JS...要成功,你应该按照这些步骤操作。
第 1 步:停止在所有页面上加载 JavaScript 和 CSS 样式表
当 WPCF7_LOAD_JS 的值设置为 false (default: true) 时,Contact Form 7 不会加载 JavaScript。您可以在 wp-config.php 中设置此常量的值,如下所示:
define('WPCF7_LOAD_JS', false);
同样,您可以使用WPCF7_LOAD_CSS 控制 CSS 样式表的加载。当WPCF7_LOAD_CSS 的值为 false(默认值:true)时,Contact Form 7 不会加载 CSS 样式表。您可以像这样在wp-config.php 中设置它:
define('WPCF7_LOAD_CSS', false);
或者,如果您使用的是 Contact Form 7 3.9 或更高版本,您还可以通过在主题的 functions.php 文件中添加几行代码来禁用 JavaScript 和 CSS 的加载,如下所示:
add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );
第 2 步:在包含联系表单的页面上加载文件
假设您有一个名为“example.php”的页面,它是唯一包含联系表单的页面。您必须编辑“example.php”模板文件,并在其中插入以下行(放在联系表短代码的一侧):
<?php
if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
wpcf7_enqueue_scripts();
}
if ( function_exists( 'wpcf7_enqueue_styles' ) ) {
wpcf7_enqueue_styles();
}
?>
现在您应该刷新页面并单击发送按钮,它会正常工作。谢谢。
【讨论】:
<?php wp_footer(); ?>。由于不同的主题要求,我的 wpcf7 被用于不需要在常规 wp_header() 中加载的自定义模板。我也注释掉了wp_footer(),但事实证明我需要它才能工作。
# Restrict Contact form 7 scripts and styles
function conditionally_load_contactform7() {
if(! is_page( array ( 14 , 19 ) ) ) { # Edit page IDs here
wp_dequeue_script('contact-form-7'); # Dequeue scripts.
wp_dequeue_style('contact-form-7'); # Dequeue css.
}
}
add_action( 'wp_enqueue_scripts', 'conditionally_load_contactform7' );
【讨论】:
从您的 html 中删除 <form method="post" action=""></form> 标记。
Contact form 7 自动生成表单标签。
【讨论】: