Localize URL bases

时间:2013-06-24 作者:425nesp

我经营一个非英语博客。我喜欢WordPress被翻译成西班牙语,目前我使用的是WordPress的西班牙语翻译版本。

我真正想改变的一件事是我博客的URL结构。例如,而不是sitio.com/category/gatos, 我想将URL更改为sitio.com/categoria/gatos. 我知道您可以在设置/永久链接中设置类别库和标记库,但我想知道如何在代码中实现这一点。还有,我想翻译search/busqueda/page/pagina/.

我想把所有这些翻译成西班牙语。

我希望能够在我自己的主题(我从零开始)内实现这些内容,这样这些更改可以更方便地移植。

我已经读了WordPress抄本WP_Rewrite 并进行了试验add_rewrite_rule, 但我还是被卡住了。有人知道我还能去哪里吗?

Update:

使用此功能,您的搜索表单仍可以使用name="s", 但用户在提交时将被重定向到适当的位置。

function redirectSearch()
{
    // Make sure you redirect to whatever your search_base is.
    if(!empty($_GET[\'s\'])){
        wp_redirect(home_url(\'/busqueda/\').urlencode(get_query_var(\'s\')));
    }
}
add_action(\'template_redirect\', \'redirectSearch\');

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

这应该涵盖所有内容:

function wpa_rewite_translate(){
    global $wp_rewrite;     
    $wp_rewrite->pagination_base = \'pagina\';
    $wp_rewrite->author_base = \'autor\';
    $wp_rewrite->comments_base = \'comentarios\';
    $wp_rewrite->feed_base = \'alimentar\';
    $wp_rewrite->search_base = \'busqueda\';
    $wp_rewrite->set_category_base( \'categoria/\' );
    $wp_rewrite->set_tag_base( \'etiqueta/\' );
}
add_action( \'init\', \'wpa_rewite_translate\' );
请随意嘲笑我的翻译,哈哈。

此外,要在激活主题时刷新重写规则,请添加以下内容:

function wpa_flush_rewite(){
    flush_rewrite_rules();
}
add_action( \'after_switch_theme\', \'wpa_flush_rewite\' );

结束

相关推荐

Plugin Localization

我刚刚为wp构建了我的第一个插件,即使它不是一个伟大的“代码诗意”;)它正常工作。这是一个使用GalleryView 3.0 jquery插件转换默认wp库的插件(http://spaceforaname.com/galleryview).我唯一不能做的就是本地化。此插件的本地化意味着转换管理界面,在这里可以配置jquery插件选项来更改结果库的外观。我试着关注网络上数百万的教程,在论坛上阅读了很多关于这个问题的帖子,并遵循了codex的指南。。。但仍然没有运气。这就是我所做的:每个文本行都位于gette