Q翻译中的多语言固定链接

时间:2011-11-15 作者:Beniston

我正在为我的WordPress站点使用qtranslate插件,使其成为一个多语言站点。

现在我有一个要求

对于英语,url应类似于www.sitename。com/contact-enFor-French该url应类似于www.sitename。通信/传真/联系传真

我如何才能做到这一点?(qTranslate是使用的插件)

注意:两者之间不应有任何post id

根据中的帖子https://wordpress.stackexchange.com/questions/24061/multilingual-permalinks-qtranslate 我试过了http://www.3dolab.net/en/qtranslateslug-plugin-widget 但出现“未找到页面”错误。根据该页面的第29条评论,作者似乎已经停止改进该插件。

3 个回复
最合适的回答,由SO网友:Beniston 整理而成

让“qtranslateslug插件小部件”插件在管理端工作,以将slug存储在slug表中,我将自己的代码放在了用户端。

wp-blog-header.php 页面我在包含之前添加了自己的代码wp-load.php 文件我从中获取url$_SERVER[\'REQUEST_URI\'], 并使用slug和其中的语言检索帖子名称并分配修改后的URIto $_SERVER[\'REQUEST_URI\'] 适当地。

例如:

编辑前:$_SERVER[\'REQUEST_URI\'] = \'/fr/french-slug\';

编辑后:$_SERVER[\'REQUEST_URI\'] = \'/post-name\';

让我更详细地解释一下

分配$_SERVER[\'REQUEST_URI\'] 到变量

用斜杠把子弹炸开(/)

查看slug数据库表中“qtranslateslug插件小部件”插件正在使用的slug,并从中获取帖子id

现在使用post id从post表中获取post名称。

以我在上述示例中所示的方式将其内爆。

将其分配回$_SERVER[\'REQUEST_URI\']

SO网友:ommunist

在“管理”面板的“qTranslate设置”中,打开“高级选项”,并选中单选按钮以在域名后使用语言前缀。我假设您在插件的语言设置中正确列出了法语。之后可能会出现日期显示错误的情况,请使用php日期函数在特定的语言设置(编辑语言)中修复该问题。如j F.见minexrussia的primer。com/2011中,ru前缀的放置方式相同。若要避免使用en前缀,请选择英语作为默认语言,并选中“高级选项”中的“不显示默认语言的前缀”设置。我建议删除插件设置中除en和fr之外的所有其他语言。

SO网友:leymannx

请看一下http://wordpress.org/plugins/qtranslate-slug/

Qtranslate是一个不错的插件,但不幸的是,今天已经过时了。Qtranslate Slug 是QTranslate的一个插件,它增加了对permalinks翻译的支持,并修复了自wordpress 3.0以来QTranslate的一些缺陷。

结束

相关推荐

Custom permalinks

我们有一个自定义类型music./music/ /music/post-name/ 此外,我们还有一个类似标签的分类法genres. 其URL为:/music-genres/genre-name/ 我尝试创建如下URL:/music/ /music/post-name/ /music/genres/ /music/genres/genre-name/ /music-genres/ 应替换为/music/genres/.最后,我们应该得到如下url