首页 文章

使用WPML插件禁用home_url重写

提问于
浏览
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-link/ http://wpml.org/forums/topic/wpml-changed-my-default-home-url/

对不起,我的英语很差,谢谢你的帮助!如果我需要提供任何其他信息,请与我们联系 .

2 回答

  • 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

    Thanks for your answer!

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

    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;
    }
    

相关问题