花了大概一天的时间搞清楚如何做到这一点,我认为这可能会有助于其他人在stackoverflow社区。
目标:从表单字段获取结果并在另一页上使用它。 在本例中,我的客户希望用户能够在文本字段中填写任何金额以进行PayPal付款。我使用S2Member插件来创建按钮并连接Paypal付款,但他们没有提供这种功能 - 只有硬连线的按钮。 你可以在这里看到这个动作:
http://virginiabloom.com/?page_id=250。但它是现场。如果您启动了PayPal付款,它将从您的帐户扣除资金。这将使弗吉尼亚州非常高兴。我如何解决它: 首先,我为此字段创建了一个表单。 输入其它支付金额$
接下来,我发现计算器一个非常简单的插件,它适合我的需求:
<?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文件。打开您的主机帐户并查找插件文件夹(位于wp-content文件夹中)将文件复制到文件夹中。 回到Wordpress并看看你的插件。你应该在那里看到它。如果没有激活,激活它。
我安装其它插件: 允许在文章和网页PHP(版本3.0.4)
安装后,该插件将出现在WordPress的菜单上。 打开它,你可以使用他们的代码片断制造商,将短的代码中的PHP到您的文章。 配置:
显示片断没有找到消息:是的(调试) 使用旧的(pre.2.2代码:没有 使用先进的过滤方法:是 删除上安装的所有插件资料:无 您应该看到代码片段框出现在页面的底部。 我的代码很简单。我只是想在页面url中回显“amount”参数。所以它看起来像这样:
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>
就是这样!我希望这有助于某人。
该URL是否在浏览器中运行? – 2012-02-03 10:26:16
是的。我的作品,我已经提到它在问题发布... – Rajat 2012-02-03 10:33:22
你的WordPress的页面可能是做一个重定向然后。按提交后,浏览器栏中的URL是什么? – 2012-02-03 10:36:07