如何捕获URL参数并在wordpress

时间:2017-09-13 05:08:59

标签: php wordpress web

作为一个新手,我向很多付费开发人员询问过这些开发人员,他们要么说,要么报价过高,或说无法实现

但是我通过这里的所有互动在我的网站上取得了一些成果。所以考虑采取第二意见。

自定义网关支付插件返回Woocommerce感谢您的页面,如果交易成功但返回正常的WordPress页面 - 失败付款,如果付款失败。

对于未成功付款,返回网址为:

mysite.com/failed-payment/?b_name=Jack.

在付款失败的页面上,我想显示个性化的页面标题为抱歉,杰克,您的付款未成功。

创建新页面模板或修改页面模板文件不是一种选择。必须通过主题功能来完成。 php

要编写页面标题,我想到了以下主题函数。 php

   function assignPageTitle( $title ){
        if ( is_page(3062) ) {
          $title = sprintf("Sorry, %s, Your payment was unnsuccessful", b_name);
    }

    return $title;
    }
    add_filter('wp_title', 'assignPageTitle');

是可以实现还是不可能?如果可以实现,我该如何处理?

感谢。

2 个答案:

答案 0 :(得分:0)

从URL参数中捕获b_name并将其分配给php变量如下:

$b_name = $_GET['b_name'];

现在您可以在代码中使用它,例如:

$title = sprintf("Sorry, %s, Your payment was unnsuccessful", $b_name);

此外,我会稍微修改你的代码,只有当b_name可用时才改变标题(注意:我没有测试你的WP代码所以使用原样:)

function assignPageTitle( $title ){
    if ( is_page(3062) && isset($_GET['b_name']) ) {

  $b_name = $_GET['b_name'];
 $title = sprintf("Sorry, %s, Your payment was unnsuccessful", $b_name);
}

return $title;
}
add_filter('wp_title', 'assignPageTitle');

请参阅我如何为GET参数添加条件isset(),以便仅当URL中有?b_name =时才尝试更改页面标题。

答案 1 :(得分:0)

通过以下代码放入您的主题function.php,您可以修改页面标题而无需更改/修改任何模板文件:

triangleo