Я только что построил свой первый плагин для wp, и даже если это не отличная «поэзия кода»;) он работает так, как должен.
Это плагин, который преобразует галерею wp по умолчанию с помощью плагина jQuery GalleryView 3.0 (http://spaceforaname.com/galleryview).
Единственное, что я не могу сделать, это локализация.
Локализация для этого плагина означает перевод интерфейса администратора, где кто-то может настроить параметры плагина jquery для изменения аспекта получающейся галереи.
Я пытался следовать миллионам учебных пособий, представленных в Интернете, читал множество постов об этой проблеме на форумах и следовал рекомендациям Кодекса ... но все же безуспешно.
вот что я сделал:
- каждая текстовая строка находится внутри функции gettext (
__
и _e
)
- используя poedit, я создал .po и .mo файл, сканируя каталог плагинов (все прошло нормально), затем добавил переводы для этого файла.
- я назвал .po-файл следующим образом: NAME-OF-THE-PLUGIN-it_IT.po (файл .mo был создан с тем же именем)
- Я поместил файлы переводов в папку / языки плагина (имя папки совпадает с именем плагина и файлов переводов)
- Затем я попытался добавить функцию
load_plugin_textdomain
в основной файл плагина. Я пытался, потому что нет способа заставить его работать.
Единственное, в чем я не уверен, так это то, что созданный мной плагин не находится под функциями класса + конструктора ... только потому, что я все еще не так хорош в кодировании.
Но я поместил load_plugin_textdomain
в init add_action
, вот так:
add_action('init', 'gw_load_translation_file');
function gw_load_translation_file() {
// relative path to WP_PLUGIN_DIR where the translation files will sit:
$plugin_path = dirname(plugin_basename( __FILE__ ) .'/languages' );
load_plugin_textdomain( 'gallery-view-for-wordpress', false, $plugin_path );
}
строки выше не внутри логики, они просто в основном файле плагина, вот так.
это пример моего использования функций gettext:
<h3><?php _e('Panel Options','gallery-view-for-wordpress') ?></h3>
что я не понял?