php – 使用WPML插件更改所有语言的“返回商店”URL
作者:互联网
在我的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' );
如何使这个工作获得当前的语言商店链接?
谢谢.
解决方法:
Update2:在您的代码中,您需要使用:
> WooCommerce wc_get_page_id()
功能获取WooCommerce商店页面ID.
> WPML wpml_object_id
过滤器钩子,以获取当前语言翻译的商店页面ID.
>过滤钩本身使用的WooCommerce wc_get_page_permalink()
(见HERE)
使用该材料,您可以获得商店(或任何其他链接)的当前翻译链接.
所以你的代码将是:
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文件中,或者放在任何插件文件中.
最后我测试了它的工作原理……
标签:wordpress,php,woocommerce,multilanguage,wpml 来源: https://codeday.me/bug/20190623/1266048.html