使用WPML插件禁用home_url重写

时间:2013-10-02 15:22:43

标签: wordpress plugins wpml

我正在使用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-link/ http://wpml.org/forums/topic/wpml-changed-my-default-home-url/

抱歉我的英文不好,谢谢你的帮助! 如果我需要提供任何其他信息,请告诉我。

2 个答案:

答案 0 :(得分:1)

我猜你可以覆盖WPML所做的事情并覆盖home_url(),就像使用hook / filter“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。

答案 1 :(得分: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;
}