改变"回到商店"使用WPML插件的所有语言的URL

时间:2017-02-14 16:46:20

标签: php wordpress woocommerce multilingual wpml

在我的WooCommerce网上商店,我想将" 返回商店" 网址更改为自定义网址。我尝试在我的活动主题的function.php文件中使用下面的代码,但它不起作用。

在我的网站上,我有五种由WPML商业插件管理的活动语言。它还运行一个脚本,确保来自这些国家/地区的访问者重定向到他们自己的语言。

/**
 * Changes Return to Shop button URL on Cart page.
 *
 */

function wc_empty_cart_redirect_url() {
        return 'http://pacsymposium.com/';
}
add_filter( 'woocommerce_return_to_shop_redirect', 'wc_empty_cart_redirect_url' );

如何使这项工作能够获得当前的语言商店链接?

感谢。

1 个答案:

答案 0 :(得分:4)

Update2:在您的代码中,您需要使用:

使用该材料,您可以获得商店(或任何其他链接)的当前翻译链接。

所以你的代码将是:

add_filter( 'woocommerce_return_to_shop_redirect', 'wc_empty_cart_redirect_url' );
function wc_empty_cart_redirect_url() {

    // Getting the shop ID
    $shop_id = wc_get_page_id( 'shop' );

    // Getting the current language ID for the shop page
    $current_lang_id = apply_filters( 'wpml_object_id', $shop_id, 'page', TRUE );

    // Getting the post object for the ID
    $post = get_post($current_lang_id);

    // Getting the slug from this post object
    $slug = $post->post_name;

    // We re-use wc_get_page_permalink() function just like in this hook
    $link = wc_get_page_permalink( $slug );

    return  $link;
}

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。

最后我测试了它的确有效......