it-swarm.com.ru

Как отладить сбой load_theme_textdomain ()?

Я сделал мою тему готовой к переводу. Мой text domain - это my_theme, а мои .po и .mo (de_DE.po и de_DE.mo) находятся в подпапке languages в моей папке тем.

В мой functions.php я добавил следующий код:

add_action('after_setup_theme', 'my_theme_setup');
function my_theme_setup(){
    load_theme_textdomain('my_theme', get_template_directory() . '/languages');
}

Мой бэкэнд-язык "немецкий", но перевод не загружен. Есть идеи?

4
user1706680

load_theme_textdomain() возвращает TRUE в случае успеха и FALSE, если файл не найден. Для отладки попробуйте следующее изменение:

function my_theme_setup(){
    $path = get_template_directory() . '/languages';
    $result = load_theme_textdomain('my_theme', $path );

    if ( $result )
        return;

   $locale = apply_filters( 'theme_locale', get_locale(), 'my_theme' );
   die( "Could not find $path/$locale.mo." );
}
10
fuxia