add_action('save_post', function($post_id) {
get_locale(); //возвращает язык админки
}
add_action('save_post', function($post_id) {
__('hello', 'wordpress'); //вернет перевод в зависимости от текущего языка админки
}
add_action('save_post', function($post_id) {
require_once('create_card.php');
//объект в котором создается картинка и возвращаются данные (ссылка на неё и т.д.)
$front_card = new Create_card(array(
//динамические поля
'name' => get_the_title()
,'description' => get_the_content()
//статические (они должны менятся в зависимости от языка поста)
,'header_logo_title' => __('Some title', 'wordpress');
,'header_text_description' => __('Somde description', 'wordpress');
));
}
__()). Когда вы вызываете __('Some title', 'wordpress'), WP берет перевод этой строки из уже загруженного на тот момент файла переводов (.mo), который грузится на достаточно раннем этапе, использует textdomain и локаль для получения нужного файла переводов. То есть да, данная функция вернет значение строки в текущей локали админки/WordPress.switch (ICL_LANGUAGE_CODE) {
case 'ru':
$locale = 'ru_RU.mo';
break;
case 'de':
$locale = 'de_DE.mo';
break;
}
load_textdomain('save_post_lang', get_template_directory().'/languages/'.$locale);
$lang_msg = __('hello', 'save_post_lang');
//case 'ru' => привет
//case 'de' => hallo
load_textdomain('save_post_lang', get_template_directory().'/languages/'.'de_DE.mo');
var_dump(__('Hello', 'save_post_lang'), __('Hello', 'wordpress'));
// string(17) "Hallo" string(23) "Привет"