web-dev-qa-db-fra.com

Comment i18n slug pour les templates?

certains modèles sont choisis à partir de WordPress à partir de slugs (par exemple category-{slug}.php).

Problème: Comment puis-je utiliser le même modèle pour une limace i18n?

Exemple: j'ai un category-news.php et une catégorie anglaise avec slug "news" et une catégorie allemande avec slug "nachrichten". Mais bien sûr, "nachrichten" ne reçoit pas category-news.php en tant que modèle. Comment puis-je i18n "nachrichten" alors WordPress sait que cela signifie "nouvelles" avant que le modèle ne soit choisi en interne?

4
Pipo

Filtre 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;
}

Mais je pense que des modèles basés sur des slugs ne sont pas une bonne idée dans ce cas.

5
fuxia