【问题标题】:How to pass data between wordpress pages如何在wordpress页面之间传递数据
【发布时间】:2012-02-25 23:26:23
【问题描述】:

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

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

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

【问题讨论】:

  • 该网址在您的浏览器中有效吗?
  • 是的。我的作品我在问题帖子中提到过......
  • 您的 Wordpress 页面可能正在执行重定向。按提交后浏览器栏中的 URL 是什么?
  • 它是相同的 url,但没有找到错误页面。会不会因为私页有什么问题???

标签: wordpress


【解决方案1】:

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

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

接下来,我在 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 页面。 如果您不知道如何手动安装插件,它非常简单。 将 sn-p 保存为 .php 文件。打开您的主机帐户并找到插件文件夹(它在 wp-content 文件夹中)将文件复制到该文件夹​​中。 返回 Wordpress 并查看您的插件。你应该在那里看到它。如果没有激活,就激活它。

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

安装后,插件将出现在 Wordpress 菜单中。 打开它,您可以使用他们的 sn-p 制造商,它将 php 放入您的帖子中的短代码中。 配置:
显示 sn -p not found 消息:yes(用于调试) 使用旧的(pre.2.2 代码:否 使用高级过滤方法:是 安装时删除所有插件数据:否 您应该会看到代码 sn-p 框出现在页面底部。 我的 sn-p 很简单。我只是想从页面 url 中回显“数量”参数。所以它看起来像这样:

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>

就是这样!我希望这对某人有所帮助。

【讨论】:

    【解决方案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'); ?> 
    

    将生成基本站点 url。

    【讨论】:

      猜你喜欢
      • 2011-04-02
      • 2018-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-03
      • 1970-01-01
      • 2023-02-25
      相关资源
      最近更新 更多