我有个问题。我目前正在开发一个插件,包括检查依赖项。因此,在调用所有其他init方法之前,我在插件根类中包含了一个检查:
public function __construct() {
$this->init_core_hooks();
if ( ! Pmx_Dependencies::get_instance()->is_loadable() ) {
return;
}
$this->init_classes();
}
private function init_core_hooks(): void {
add_action( \'plugins_loaded\', [ $this, \'plugins_loaded_action\' ] ); // Here I\'m loading my translation files
}
问题是,如果缺少依赖项,我会向WordPress添加一个管理通知,但它不会被翻译:
public function __construct() {
if ( ! function_exists( \'get_plugins\' ) || ! function_exists( \'is_plugin_active\' ) ) {
require_once ABSPATH . \'wp-admin/includes/plugin.php\';
}
if ( ! function_exists( \'wp_create_nonce\' ) ) {
require_once ABSPATH . WPINC . \'/pluggable.php\';
}
if ( $this->is_yoast_installed() ) {
$admin_notice = [
\'type\' => \'error\',
\'content\' => __( \'An error occured\', \'pmx\' )
];
$this->add_admin_notice( $admin_notice );
}
}
我发现翻译还没有准备好,因为在我添加缺少某些内容的通知后,调用了我初始化翻译文件的挂钩。。。
那么,我应该如何处理这一问题,同时遵循在WordPress中加载文本文件的说明??
https://developer.wordpress.org/plugins/internationalization/how-to-internationalize-your-plugin/#loading-text-domain
谢谢你的帮助!