这是我的功能。php摘录:
function get_theme_text_domain()
{
//Same behavior if I return the string as \'return \'whatever\'
$theme = wp_get_theme();
return $theme->get(\'TextDomain\');
}
function tamtando_theme_setup()
{
load_textdomain(get_theme_text_domain(), get_template_directory() . \'/languages\');
[...]
}
add_action(\'after_setup_theme\', \'tamtando_theme_setup\');
$theme
是一个包含所有主题属性的数组:按预期。
$theme->get(\'TextDomain\')
返回“tamtando”:如预期。
我注意到使用时主题没有翻译任何字符串__(\'somestring\', get_theme_text_domain())
.
然后,我尝试在执行时查看调试器的运行情况load_textdomain(get_theme_text_domain(), get_template_directory() . \'/languages\');
.
在这里我意识到import_from_reader($reader)
, 位于/wp includes/pomo/mo.php上,返回false,因为我认为,$reader->readint32()
返回false。我想,发生这种情况的原因可能是找不到文件,或者文件有问题。
我已经检查过了:文件看起来是正确的,我甚至使用不同的工具重新创建了几次,但问题仍然存在。
这不是我写的第一个主题,我通常都使用相同的模式,所以我对这个问题真的很迷茫。
有人知道这种行为的可能原因吗?