如何在wordpress页面之间传递数据

时间:2012-02-03 10:22:46

标签: wordpress

我是wordpress的新手,我想在wordpress中将数据从一个页面传输到另一个页面。我使用php将表单数据发布到wordpress页面。我的代码是:

<form method='post' action='http://www.example.com/www/create_website/'>
.....
<input type ='submit' value = 'OK'/>
</form>

但每次我点击提交按钮时都会找不到错误页面。为什么会这样,因为链接正在浏览器中加载页面但不适用于表单发布。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

花了大约一天的时间来弄清楚如何做到这一点,我认为它可能对stackoverflow社区中的其他人有所帮助。

目标:从表单字段中获取结果并在另一页上使用它。 在此示例中,我的客户希望用户能够在文本字段中填写任何金额以进行Paypal付款。我使用S2Member插件创建按钮并挂钩Paypal付款,但他们没有提供此功能 - 只有按键硬连线的按钮。 你可以在这里看到这个:
http://virginiabloom.com/?page_id=250。但它是LIVE。如果您开始支付宝贝,它将从您的帐户中扣除款项。这将使弗吉尼亚非常高兴。 我如何解决它: 首先,我为这个领域创建了一个表单。     输入其他付款金额$

接下来,我在stackoverflow上找到了一个非常简单的插件,并根据我的需要进行了调整:

<?php
/*
Plugin name: redirect on post
Desciption: 

http://stackoverflow.com/questions/13686245/how-to-create-a-custom-url-based-on-dropdown-in-wordpress-form-submission
I-changed-dropdown-to-field-input
*/ 
function redirect_on_submit() {
  // check if the post is set
  if (isset($_POST['amount']) && ! empty ($_POST['amount'])) 

{
    header( "Location: yourUrl.com/?

page_id=542&amount=" . $_POST['amount'] );
  }
}
add_action('init', redirect_on_submit);

注意:更改标题中的页面URL和ID信息以指向要将信息发送到的Wordpress页面。 如果您不知道如何手动安装插件,则非常简单。 将代码段保存为.php文件。打开您的主机帐户并找到plugins文件夹(在wp-content文件夹中)将文件复制到该文件夹​​中。 回到Wordpress并查看你的插件。你应该在那里看到它。如果未激活,则激活它。

我安装了另一个插件: 在帖子和页面中允许PHP(版本3.0.4)

安装后,该插件将出现在Wordpress菜单上。 打开它,您可以使用他们的代码片段制作工具,将PHP放入短代码中的帖子中。 配置:
显示片段未找到消息:是(用于调试) 使用旧的(pre.2.2代码:没有 使用高级过滤方法:是的 在安装时删除所有插件数据:否 您应该会看到代码段框出现在页面底部。 我的片段很简单。我只想回应&#34;数量&#34;来自页面网址的参数。所以它看起来像这样:

echo $_GET['amount']?>

请注意,您必须放置结束的php标记,而不是开始标记。 现在,您只需在页面上使用短代码[php function = 1],无论您希望获得此参数。

以下是我的结果页面上的内容。

<h2>Payment of $ [php function=1]</h2>
<strong><em>Click Paypal button to start payment or cancel.</em></strong>
[s2Member-PayPal-Button sp="1" ids="xxx" exp="24" desc="Payment" ps="paypal" lc="" cc="USD" dg="0" ns="1" custom="yoururl.com"
ra="[php function=1]" image="default" output="button" /]

为了确保用户只能输入十进制数,我在表单上使用了jQuery验证。还有其他方法可以做到,但这很简单。只需将此代码放在页面上,其中包含我在下面列出的表单。

 <form id="myform" action="http://virginiabloom.com/?page_id=542" method="post"><span style="font-size:1.5em;">Enter Other Payment Amount $</span><input id="amount" class="left" name="amount" type="text" /><input type="submit" value="Submit" /></form>

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script>
<script src="http://jquery.bassistance.de/validate/additional-methods.js"></script>
<script>
$( "#myform" ).validate({
  rules: {
    amount: {
      required: false,
      number: true
    }
  }
});
</script>

那就是它!我希望这有助于某人。

答案 1 :(得分:2)

如果您需要访问其中一个WordPress页面,请不要直接链接。 而不是把下面的PHP代码。

<form method='post' action='<?php bloginfo('url'); ?>/your-page-name/' > 

如果您想转到模板目录中的特定文件,请输入以下代码

<form method='post' action='<?php bloginfo('template_url'); ?>/your-page.php' > 

选中WordPress codex page for more about bloginfo

<?php bloginfo('url'); ?> 

将生成基本网站网址。