WordPress表单麻烦
WordPress form trouble
这里需要一些帮助,我正在构建一个单页的 wordpress 主题,但我真的不知道如何在不加载的情况下提交联系表单。基本上我所有的代码都在索引.php上。
这是 get_header() 上方的表单提交 php 代码;它工作得很好,但我无法在不加载页面的情况下真正提交它。
if(isset($_POST['user_submit'])) {
$parse_uri = explode( 'wp-content', $_SERVER['SCRIPT_FILENAME'] );
require_once( $parse_uri[0] . 'wp-load.php' );
$name = esc_html($_POST['user_name']);
$email = esc_html($_POST['user_email']);
$comment = esc_html($_POST['user_message']);
$website = esc_html($_POST['user_url']);
$msg = esc_attr('Name: ', 'silver') . $name . PHP_EOL;
$msg .= esc_attr('E-mail: ', 'silver') . $email . PHP_EOL;
$msg .= esc_attr('Website: ', 'silver') . $website . PHP_EOL;
$msg .= esc_attr('Message: ', 'silver') . $comment;
$to = get_option( 'admin_email' );
$sitename = get_bloginfo('name');
$subject = '[' . $sitename . ']' . ' New Message';
$headers = 'From: ' . $name . ' <' . $email . '>' . PHP_EOL;
wp_mail($to, $subject, $msg, $headers);
}
这是我使用的jQuery帖子:
$( "#contact_form" ).submit(function( event ) {
event.preventDefault();
var $form = $( this ),
name = $form.find( "input[name='user_name']" ).val(),
email = $form.find( "input[name='user_email']" ).val(),
website = $form.find( "input[name='user_url']" ).val(),
comment = $form.find( "input[name='user_message']").val();
$.post( templateDir + "/index.php", { website : website, comment : comment, name : name, email : email, submit : "yes" } );
});
这是网站 http://silviuandrei.eu/themes/bornagain/
您正在检查 user_submit
POST 变量:
if(isset($_POST['user_submit']))
但是通过$.post
发送不同的变量
$.post( templateDir + "/index.php", { website : website, ..... submit : "yes" } );
将其更改为user_submit : "yes"
我建议在函数中执行此操作.php使用 init 操作:
add_action('init','form_submits');
function form_submits() {
if( isset($_REQUEST['user_submit']) ){
require("process_post.php");
exit;//prevents the default blog output
}
}
请注意,使用 require 只是保持函数.php干净的建议。
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何使用WCF服务和javascript表单post上传.doc文件
- Javascript生成的表单未提交
- 如何使用javascript或html下载PDF格式的填写表单
- HTML表单提交时未执行外部函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- Ajax发布表单序列化,发布引号'
- 多级HTML表单
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 在验证和发送邮件后更改联系人表单的 html
- Perl / LWP 提交 JavaScript 表单的麻烦
- WordPress表单麻烦
- 使用AJAX表单的麻烦
- 麻烦提交ajax表单在yii
- 在返回键上提交表单时遇到麻烦
- 麻烦提交我的表单(与jQuery验证)到同一页面与$_POST
- Angular表单绑定到作用域的麻烦
- 麻烦添加前导零提交的表单数据在javascript
- 我有验证和表单向导的麻烦