将PHP POST数据传递到Wordpress页面,并在其上重写永久链接

时间:2011-07-08 15:22:52

标签: php wordpress post

我正在使用电子商务网关,通过PHP POST数据完成销售后,将交易数据传回我的网站。我需要使用Google Analytics的电子商务事件跟踪来跟踪这些数据,并提供感谢页。

目前,我有电子商务网站将客户发送到/thankyou.php,

$total = $_POST["Total"];
标题中的

(以及其他字段)。然后我使用Google的脚本将数据发送到Google Analytics:

_gaq.push(['_addTrans',
    "<?php echo $orderid; ?>",           // order ID - required
    "<?php echo $storename; ?>",  // affiliation or store name
    "<?php echo $total; ?>",          // total - required
    "",           // tax
    "",              // shipping
    "<?php echo $city; ?>",       // city
    "<?php echo $state; ?>",     // state or province
    "<?php echo $country; ?>"            // country
  ]);

这个有效!完美。 问题是:当我尝试在Wordpress的标题(或静态页面)中放入相同的代码时,$ _POST数据都没有通过。所有字段都是空白的。我假设这是因为我将数据发送到“/ thank-you /”而不是/thank-you.php。

有没有办法让Wordpress页面以.php页面的方式处理$ _POST数据?

谢谢

1 个答案:

答案 0 :(得分:3)

要捕获发布的数据,请使用wordpress的'init'操作来捕获发布的数据,例如

add_action('init', 'ur_form_process_fun');

function ur_form_process_fun(){
 if(isset($_POST['unique_hidden_field'])) {
   // process $_POST data here
 }
}

您可以将此代码放在插件文件或主题的functions.php文件中。

在上面的代码中,ur_form_process_fun()函数在wordpress的初始化阶段触发。

unique_hidden_field可以是退回到您网站的唯一交易字段之一。

希望这可以解决您的问题。 :)