wp-config.phpで、WPLANGを次のように定義しました。
if(isset($_GET['lang']) && $_GET['lang'] == 'pl') {
define('WPLANG', 'pl_PL');
} else {
define('WPLANG', 'en_US');
}
WPLANGにアクセスするときはいつでも完全に機能しますが、メールプレスウィジェットからメタデータを追加しようとすると、WPLANGを認識できません。言語をwpdbに挿入するための関数は、テーマのfunctions.phpにあります。
add_action( 'MailPress_insert_user', 'MailPress_insert_set_lang');
function MailPress_insert_set_lang($mp_user_id) {
global $wpdb;
$q = $wpdb->prepare( "INSERT INTO $wpdb->mp_usermeta
(mp_user_id, meta_key, meta_value)
VALUES (%s, 'lang', %s)", $mp_user_id, WPLANG );
$wpdb->query( $q );
}
Mailpressウィジェットはajaxを使用します。関数定義の前にechoWPLANGを置くと、正しい言語がエコーされますが、WPLANGはその関数のスコープ内で認識されません。
お知らせ下さい。