1

我正在使用WPML Wordpress 插件来翻译我的网站。我的默认语言是法语。当我在翻译页面中时,home_url()会用当前语言重写。如何禁用此重写,以便home_url()始终重定向到法语主页?

翻译页面网址:http ://www.mydomain.com/en/test/

实际home_url()http ://www.mydomain.com/en/

所需home_url()http ://www.mydomain.com/

我已经尝试过这些解决方案:

http://wpml.org/forums/topic/wpml-overwrites-home_url-to-append-language-suffix/ http://wpml.org/documentation/support/creating-multilingual-wordpress-themes/home-page-链接/ http://wpml.org/forums/topic/wpml-changed-my-default-home-url/

对不起我的英语不好,感谢您的帮助!如果我需要提供任何其他信息,请告诉我。

4

2 回答 2

1

我想你可以覆盖 WPML 所做的事情并覆盖 home_url(),就像使用钩子/过滤器“home_url”一样,并使用 $_SERVER['SERVER_NAME']; 获取没有 lang 的 url;或其他方式。

也许这样的事情可以工作:

add_filter( 'home_url', 'fix_home_url_lang', 100, 4 );

function fix_home_url_lang( $url, $path, $orig_scheme, $blog_id ) {
  return 'http://' . DOMAIN_CURRENT_SITE . PATH_CURRENT_SITE . $path;
}

这没有考虑到您可能拥有的任何多站点,所以要小心。另外,也许你应该使用传递给函数的参数来找出你想要的 url。

于 2013-10-02T16:08:48.993 回答
1

感谢您的回答!

我稍微调整了你的功能。这是我的最终功能:

add_filter('home_url', 'fix_home_url_lang', 100, 4);

function fix_home_url_lang($url, $path, $orig_scheme, $blog_id) {
  return 'http://' . DOMAIN_CURRENT_SITE . PATH_CURRENT_SITE . $path;
}
于 2013-10-02T16:15:54.983 回答