Intereting Posts

Два текстовых домена в одном плагине

С самого начала: A = основной плагин (библиотека), B = дочерний плагин

Я разрабатываю плагин B, который будет зависеть от другого плагина A для правильной работы. Я делаю это, потому что я один из тех, кто не любит дублирование кода. Поэтому у меня есть плагин с библиотекой, необходимой для других плагинов A и другого плагина, который будет делать только то, что должен, но только если активирован плагин A.

Все работает хорошо, но … Мне также нужно сделать плагин B независимым и архивировать его, я должен включить основную библиотеку. Просто и все, что мне нужно сделать, это изменить несколько строк кода.

Вот потенциальная проблема. В плагине A у меня есть текстовый текст перевода example_text_a а в дочернем плагине ( B ) – example_text_b .

Оба используют что-то подобное для загрузки языков:

 add_action( 'plugins_loaded', 'example_load_translations' ); function example_load_translations() { load_plugin_textdomain( 'example_text_X', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); } 

Теперь вопрос. Можно ли загружать два разных текстовых домена в одном плагине? И если ДА, вызовет ли это какие-либо конфликты?

Если возможно, я бы порекомендовал больше помощи в отношении локализации. Спасибо.

Solutions Collecting From Web of "Два текстовых домена в одном плагине"

Да, вы можете загружать несколько файлов перевода для нескольких текстовых доменов в один плагин. Это иногда полезно, например, когда вам нужна только одна строка в вызовах AJAX и много строк в остальной части приложения: чтобы ускорить AJAX, загрузите отдельный перевод.

Помните, что автоматические обновления языка для плагина из wordpress.org, вероятно, не сработают с этим, они не ожидают более одного перевода.

Никогда не используйте plugins_loaded для загрузки перевода. Здесь вы не создаете вывод. Дождитесь первого вызова функции перевода, убедитесь, что вы не загружаете перевод, когда он не нужен. Файл комментариев, XML RPC или AJAX – это обычные места, где плагины замедляют все без какой-либо выгоды.