为语言创建自定义固定链接结构

时间:2013-03-04 作者:Simon Blackbourn

我编写了一个简单的多语言系统,点击标志图标可以设置一个包含两个字母的语言代码(例如nl、de等)的一年cookie。

我钩住了wp 操作读取cookie值,然后使用the_titlethe_content 筛选以显示正确的语言(通过页面/后期编辑屏幕上的元框输入不同的语言)。

这一切都很好,除了我还希望每个语言版本都有永久链接,其中两个字母的语言代码位于域名和通常的永久链接结构之间。我正在使用%postname% permalink结构,因此以下所有内容均有效:

http://example.com/nl/about-us
http://example.com/de
http://example.com/fr/2012/03
http://example.com/es/this-is-a-post-title
如果当前语言为英语,则不应使用两个字母的代码(它将只是普通的永久拼音)。

到目前为止,我使用了query_vars 筛选器以添加名为lang, 但我还不知道接下来的步骤是什么。非常感谢您的建议!

2 个回复
SO网友:Eugene Manuilov

您的问题很复杂,我可以自己回答,但我建议您安装qTranslate 插件。正如插件的描述所说:

从3种模式中选择一种,使您的URL美观且SEO友好。-随处兼容?朗=恩,简单而美丽/恩/福/或漂亮而整洁的恩。您的站点。com公司

所以你可以试着检查插件的代码,看看他们是怎么做的,或者干脆直接使用它。

SO网友:jim.duck

这是我正在使用的过滤器:

function em_wpml_dbem_taxonomy_category_slug($option){
$lang = get_bloginfo(\'language\');

if( $lang === \'es-ES\' ){
    $option = \'eventos/categorias\';
} else {
    $option = \'events/categories\';
}
return $option;
}
add_filter(\'pre_option_dbem_taxonomy_category_slug\', \'em_wpml_dbem_taxonomy_category_slug\');

结束

相关推荐

old permalinks not found

通过Google网站管理员工具查看,我有很多404个永久链接结构为/%年%/%月%/%日%/%postname%的帖子/此后,我将永久链接更改为/%类别%/%postname%。html我原以为Wordpress可以将旧的帖子URL重定向到新的帖子URL,但旧的基于日期的URL正在生成404。我的htaccess文件可写,设置为644。为什么会发生这种情况?谢谢