Como i18n slugs para templates?

4

alguns modelos são escolhidos do WordPress com base em slugs (por exemplo, category-{slug}.php ).

Problema: Como posso usar o mesmo template para um slug i18n'ed?

Exemplo: Eu tenho um category-news.php e uma categoria inglesa com slug "news" e alemão com slug "nachrichten". Mas é claro que "nachrichten" não recebe category-news.php como modelo. Como posso i18n "nachrichten" para o WordPress sabe que significa "notícia" antes do modelo ser escolhido internamente?

    
por Pipo 04.04.2013 / 11:09

1 resposta

5

Filtro template_include :

add_filter( 'template_include', 'prefix_translate_template' );

function prefix_translate_template( $template )
{
    if ( 'category-' . __( 'news', 'your_textdomain' ) . '.php' === $template )
        return 'category-news.php';

    return $template;
}

Mas acho que modelos baseados em slugs não são uma boa ideia nesse caso.

    
por fuxia 04.04.2013 / 11:17