这个load_theme_textdomain()
函数使用load_textdomain()
内部。该函数为调试目的提供了一个很好的过滤器(除了更改语言之外:
$plugin_override = apply_filters( \'override_load_textdomain\', false, $domain, $mofile );
使用快速自定义插件开始调试,并检查文件是否存在:
<?php
/** Plugin Name: Check if the themes MO file exists */
add_filter( \'override_load_textdomain\', function( $override, $domain, $mofile )
{
false !== strpos( $mofile, get_template_directory() ) AND var_dump(
\'=== CHECK LANGUAGE AND MO FILES ===\',
$mofile,
file_exists( $mofile )
\'Current locale: \'.get_locale(),
\'Available languages: \',
get_available_languages(),
);
return false;
}, 10, 3 );
请注意,这将显示
only 父主题MO文件。如果你有一个儿童主题,你最好使用
get_stylesheet_directory()
无论是在您的代码中,还是在上面的调试插件代码中。
要检查当前区域设置,可以转储get_locale()
. 要查看所有可用语言,请转储get_available_languages()
. 这些是上述插件中的最后两个转储。