我经营一个非英语博客。我喜欢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\');
最合适的回答,由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\' );