剥去网址的一部分(qtranslate / woocommerce)

时间:2014-06-11 10:36:07

标签: woocommerce

在php中是否有办法摆脱URL中的特定参数?

例如:我有这个链接激活了Wordpress Woocommerce前端的打印选项。 我使用mqtranslate有两种不同的语言。

  

...   我的帐户/郎=能量%2Fprint阶%2F2067%2F&安培;打印顺序型=收据

但这给了我一个错误,因为有

  

/?郎= EN

在URL的内部,应该在URL的末尾以正常工作:

/?郎= EN

我已经找到了生成此代码的代码 - 它位于第87行的woocommerce / templates / myaccount / my-orders.php中

$actions = apply_filters( 'woocommerce_my_account_my_orders_actions', $actions, $order );
if ($actions) {
    foreach ( $actions as $key => $action ) {
        echo '<a href="' . esc_url( $action['url'] ) . '" class="button ' . sanitize_html_class( $key ) . '">' . esc_html( $action['name'] ) . '</a>';

我尝试将$动作更改为另一个网址,但之后打印无效。

工作网址如下所示:

  ?

... /我的账户/打印顺序/ 2083 /打印顺序型=收据&安培;朗= EN

那么如何在网址的开头删除“?lang = en”并将其设置为网址的末尾,如“&amp; lang = en”?

有没有办法在PHP中执行此操作,还是应该使用jquery?

编辑:可能像

  

$('td.order-actions a.print')。each(function(){           this.href = this.href.replace('?lang = en','');

也许可以做到这一点,但我不知道如何删除“斜杠”//.

这是删除lang = en的正确方法吗?我怎么能把它放在最后?

编辑2:

好的我找到了解决方案 - 但它并不完美: 我在url链接中遇到jquery语法问题:

这是我得到的链接:

  

...我的账户/?LANG =能量%2Fprint阶%2F2067%2F?打印顺序型=收据

我正在使用

  

$('td.order-actions a.print')。each(function(){           this.href = this.href.replace('/ \?lang = en','');

删除“/?lang = en”

现在的问题是,我的浏览器中的链接看起来不错

  

我的账户/打印顺序/ 2067 /?打印顺序型=收据

但实际上当我复制链接时,链接中总是有一个“%2F”而不是“/”,这导致了获得404的问题。

当我手动替换“%2F”时,链接可以正常工作。

问题出在哪里?有什么想法解决这个问题吗?

0 个答案:

没有答案