使用jQuery表单插件的前端提交表单

时间:2011-11-16 作者:Ciprian

也许有人能帮我解决一个小问题。我正在尝试使用这个:http://jquery.malsup.com/form/ 为Wordpress创建提交表单。我已经在一个常规的网站(不是WP)上测试过了,它很有效。我不明白为什么它在wp中不起作用。

这是我的表格。我已经创建了两个页面模板,一个是表单,另一个是wp\\u insert\\u post code。如果我将表单action更改为action=”http://mysite.com/page.php“它可以工作,如果我将它指向一个页面模板,它就不能工作。我需要它指向一个页面模板,以便wp\\u insert\\u post code工作。

这是第一页:

<form id="myForm" action="http://mysite.com/submitest" method="post"> 
Name: <input type="text" name="name" /> 
Comment: <textarea name="comment"></textarea> 
<input type="submit" value="Submit Comment" /> 

谢谢

1 个回复
最合适的回答,由SO网友:Rutwick Gangurde 整理而成

将操作值保留为空。给出submit 按钮名称为name=\'form_sub\'. 然后将以下代码添加到functions.php 文件检查法典init 钩您可以创建一个“谢谢”页面,或一个确认页面,用户在成功提交后应前往该页面。

<?php
add_action(\'init\', \'form_submit\');

function form_submit(){
    if(isset($_POST[\'form_sub\']))
    {
        //here you\'ll have your form data in a $_POST array, you can check it using a print_r. parse the form and insert the post
        $title = $_POST[\'name\'];
        $content = $_POST[\'comment\'];

        //change the category and author as you want
        $post_obj = array(
                        \'post_title\' => $title,
                        \'post_content\' => $content,
                        \'post_category\' => array(1), //Uncategorized
                        \'post_status\' => \'draft\',
                        \'post_author\' => 1 //Admin
                       );
        $id = wp_insert_post($post_obj);

        //check if successfully submitted
        if(isset($id) && !is_wp_error($id))
        {
            //redirect to a thank you page, make sure the slug is \'thank-you\'
            wp_redirect(home_url(\'/thank-you\'));
            exit;
        } 
    }
}
?>
试试这个。如果你卡住了,请告诉我。

编辑:表单模板应该是这样的。submit按钮应该具有name属性,而不是表单。

<?php /* Template Name: Submit */ ?> 
<?php get_header(); ?> 
Form this: 
<form action="" method="post"> 
    Name: <input type="text" name="name" /> 
    Comment: <textarea name="comment"></textarea>
    <input type="submit" value="Submit" name="form_sub" />
</form>
<?php get_footer(); ?>

结束

相关推荐

如何修复:在Admin(edit.php)中点击‘快速编辑’链接会使帖子消失?

当我登录并进入帖子管理页面(edit.php)时,if I click the \'Quick Edit\' button, the clicked post disappears from the listing! 这发生在运行WP 3.2.1的FF7和Safari 5.1中。刷新页面会再次在列表中显示帖子,但我找不到使用快速编辑功能的方法。编辑:在后期管理中,单击“快速编辑”后,Firebug显示:a(\"input[name=\\\"ping_status\\\"]\", d).prop is n