У меня есть веб-сайт woocommerce, использующий расширения Polylang для WooCommerce и Polylang pro.Весь проект работает под управлением WordPress 4.9.8.
Я создал новый плагин.
Этот плагин добавляет страницу администратора в администрацию Wordpress с некоторыми заголовками и опциямиустановить.(например, TITLE> INPUT TYPE).
Этот плагин добавляет всплывающее окно на веб-сайт.
Все работает хорошо на одном языке.Поэтому я пытаюсь интернационализировать административную часть.
Заголовок отображается методом __ (''), а динамическое содержимое - get_option ('');Я должен использовать get_option (__ ('label', 'domain'));вместо текущего динамического вызова добавьте файлы .po и .mo.
<?php
/*************************************************************
CLASS MY_PLUGIN
*************************************************************/
...
public static function loadTranslations(){
load_plugin_textdomain( 'plugin_admin', false, '/wp-content/plugins/languages/' );
}
...
public static function addAdminMenu(){
add_menu_page( self::$plugin_name, 'MY MENU LABEL', 'administrator', 'my_plugin_menu', array( 'MY_PLUGIN', 'html_admin_content' ) );
}
...
public static function html_admin_content( $instance ){ ?>
<form action="options.php" method="post">
<?php settings_fields( 'my_plugin_settings' ); ?>
<p><label for="my_plugin_title"><?= __( 'Title', 'my_plugin_admin' ); ?></label></p>
<p><input type="text" id="my_plugin_title" name="my_plugin_title" value="<?= get_option( __( 'label','domain' ) ) ?>" /></p>
...
<?php
}
...
/*************************************************************
PLUGIN INDEX/
*************************************************************/
include_once plugin_dir_path( __FILE__ ) . '/class/MY_PLUGIN.class.php';
add_action('plugins_loaded', array( 'MY_PLUGIN', 'loadTranslations'));
...
add_action( 'admin_menu', array( 'MY_PLUGIN', 'addAdminMenu') );
...
?>
Проблема в том, что мои файлы .po / .mo не распознаются администратором или всплывающим окном.Переводы get_options нигде не переводятся.
Так что мой плагин остается только на одном языке.Я что-то забыл?