分类目录归档:软件开发

wordpress qtranslate home page url不正确的问题

我的wordpress一直使用qtranslate的翻译插件,但有一个比较郁闷的问题,它的主页地址总是会切换到默认语言,

例如我的网站支持“英文“,”中文(默认语言)”,点击英文的时候全部文章变为英文,但主页链接还是“http://www.alexatools888.com”

这样在英文状态下点击“Home”又回到中文界面,搜索过好几篇文章,都是很老掉牙的方法,对目前最新版本的wordpress 3.4.2都没有效果

没有快捷方法的情况下,只能自己动手了,使用var_dump一步一步的跟进代码,

最终在

.\wordpress\wp-includes\post-template.php

这个文件找到输出的地方,第903行原代码是:

$menu .= ‘<li ‘ . $class . ‘><a href=”‘ . home_url( ‘/’ ) . ‘” title=”‘ . esc_attr($text) . ‘”>’ . $args[‘link_before’] . $text . $args[‘link_after’] . ‘</a></li>’;

增加一个转换函数qtrans_convertURL,就可以将主页进行多语言处理

$menu .= ‘<li ‘ . $class . ‘><a href=”‘ . qtrans_convertURL(home_url( ‘/’ )) . ‘” title=”‘ . esc_attr($text) . ‘”>’ . $args[‘link_before’] . $text . $args[‘link_after’] . ‘</a></li>’;

这个修改目前还没有发现问题,估计更切底的方法应该是修改home_url这个函数,但再跟进去发现又套上几个函数,而现在的修改已经够用,收工了:)

qtranslate home page url