在WordPress中将数据从一个页面传递到另一个文件/页面

时间:2013-04-12 作者:Bhuvnesh Gupta

我在wordpress中有我的自定义主题。这是我的自定义主题的路径。C:\\wamp\\www\\wordpress2\\wp-content\\themes\\sscy1002\\sscy1002

我在wordpress中创建了一个包含一些表单元素的页面。这是我的页面代码:

 <form action="<?php bloginfo(\'stylesheet_directory\'); ?>/Query.php" enctype="multipart/form-data" method="post" name="contact">
<label for="author">Name:</label> <input class="required input_field" id="author" type="text" name="author" />
    <div class="cleaner h10"></div>
    <label for="email">Email:</label> <input class="validate-email required input_field" id="email" type="text" name="email" />
    <div class="cleaner h10"></div>
    <label for="subject">Subject:</label> <input class="input_field" id="subject" type="text" name="subject" />
    <div class="cleaner h10"></div>
    <label for="text">Message:</label> <textarea class="required" id="text" cols="0" name="text" rows="0"></textarea>
    <div class="cleaner h10"></div>
    <label for="image">Image:</label><input type="file" name="file" />

    <input class="submit_btn float_l" id="submit" type="submit" name="submit" value="Send" />
    <input class="submit_btn float_r" id="reset" type="reset" name="reset" value="Reset" />

    </form>
这是我的问题。php代码位于C:\\wamp\\www\\wordpress2\\wp-content\\themes\\sscy1002\\sscy1002 目录:

<?php
get_header();
?>

<?
$name=$_POST[\'author\'];
$email=$_POST[\'email\'];
$subject=$_POST[\'subject\'];
$message=$_POST[\'text\'];
$image=$_FILES[\'file\'][\'name\'];
move_uploaded_file($_FILES[\'file\'][\'tmp_name\'],"imagess/".$image);
echo $name."<br/>";
echo $email."<br/>";
echo $subject."<br/>";
echo $message."<br/>";
echo "<img src=\'imagess/".$image."\' alt=\'image\'>";
?>
<?php
get_footer();
?>
但当我提交表单时,我遇到了致命错误:

Fatal error: Call to undefined function get_header() in C:\\wamp\\www\\wordpress2\\wp-content\\themes\\sscy1002\\sscy1002\\Query.php on line 2

请帮助我如何在wordpress中将数据从一个页面传递到另一个文件(或如果是页面)。我也在谷歌上搜索了答案,但我尝试了从谷歌获得的所有方法,但没有成功。

抱歉,问题格式错误。请帮帮我!!!!谢谢

4 个回复
SO网友:Bruno Rodrigues

您可以尝试使用函数。php处理表单提交并通过AJAX发送数据。

在表单中添加一个隐藏字段,其中包含要执行的操作(在functions.php上):

<input type="hidden" name="action" value="save_contact"/>
在您的页脚中。php添加jQuery代码来处理AJAX请求:

jQuery(\'#your-form\').submit(ajaxSubmit);
function ajaxSubmit(e){
    e.preventDefault();
var formData = jQuery(this).serialize()

jQuery.ajax({
    type:"POST",
    url: "<?php bloginfo(\'url\'); ?>/wp-admin/admin-ajax.php",
        data: formData,
        success: function(response){
       //SHOW CONFIRMATION
    },
    error: function(error){
       //SHOW ERROR MESSAGE
    }
});
return false;
}
最后,在你的功能。php文件:

add_action(\'wp_ajax_save_contact\', \'save_contact\');
add_action(\'wp_ajax_nopriv_save_contact\', \'save_contact\');
function save_contact(){
     //Do whatever you want here...
}
希望有帮助!:)

SO网友:Vikram

在get\\u header()之前添加以下代码

require_once(\'../../../wp-load.php\');
您会遇到错误,因为您的文件不是为wordpress创建的页面创建的,它只是一个php文件,您需要包含load。php文件来加载所有必需的函数。

SO网友:ash patel

您应该使用http://example.com/page-slug/

其中,page slug是由make Query创建的页面。php作为模板。

<form action="http://example.com/page-slug/" enctype="multipart/form-data" method="post" name="contact">

SO网友:Shobhit

请从替换表单操作路径<?php bloginfo(\'stylesheet_directory\'); ?><?php bloginfo(\'template_directory\'); ?>

然后检查。。

结束

相关推荐

必需:找不到wp_link_ages。请参阅:WP_LINK_PAGES by Theme Checker

我已经通过WordPress主题检查器运行了我的主题,看看它是否可以提交给WordPress。组织。我遇到了以下错误:必需:找不到wp\\u link\\u页面。请参阅:wp\\U link\\u页面但事实并非如此。我正在使用自定义函数wp_my_own_link_pages() 它是wp_link_pages(). 它为主题生成具有兼容HTML结构的分页。我错过了一些必要的东西吗?我怎样才能做到这一点?