Wordpress插件翻译 - load_plugin_textdomain

时间:2017-08-05 18:56:00

标签: wordpress plugins wpml

我正在开发一个自定义的Wordpress插件,但是我无法准备好多种语言。

它确实正确加载了主语言的.mo文件,但在切换语言时(使用WPML),它总是显示主语言的翻译(在本例中为德语)。因此,当我使用英语时,它仍会显示德语翻译。

这是我的代码:

标题中的

/*
Plugin Name: MM Jobs
Plugin URI: http://example.com/
Description: Custom Jobs Plugin to create new Jobs
Version: 1.3.84
Author: Jekey
Author URI: http://example.com/
Text Domain: mm-jobs
Domain Path: /languages
*/

然后:

function mm_jobs_plugins_loaded() {
        load_plugin_textdomain( 'mm-jobs', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
    }
    add_action( 'plugins_loaded', 'mm_jobs_plugins_loaded', 0 );

.mo文件是正确的,因为它已加载德语翻译。 名称:/ plugins / mm-jobs / languages /

下的mm-jobs-en_US.mo或mm-jobs-de_DE.mo

你知道造成这个问题的原因是什么吗?

1 个答案:

答案 0 :(得分:1)

如果有人遇到同样的问题。我有

get_plugin_data( __FILE__ );

在我的代码中。这导致运行wp_core函数加载textdomain,所以我的en_US.mo被de_DE.mo覆盖

我不知道为什么get_plugin_data()使用了错误的lang文件。它似乎为使用该功能的不同插件选择了正确的插件。