Переводим Ninja Forms в WP

Ninja Forms это крутой модуль-конструктор для создания пользовательских форм в WP. Это впечатление не покидает вас даже когда вы переходите к изучению API этого плагина. Сегодня я покажу приемы, как сделать ваши (ниндзя) формы мультиязычными.

О том, как устроена мультиязычность в WP, здесь я рассказывать не буду.

Один из способов:

Можно создать несколько форм для каждого из языков сайта и показывать их на соответствующих языковых страницах. Такой вариант не требует навыков программирования — нужно лишь аккуратно расставить шок-коды для вставки форм. Результаты ответов на разных языках будут храниться в соответствующих формах, и это может быть даже удобным :).

Но я расскажу о другом варианте, который мне кажется более верным.

Нашей задачей является применение ко всем строковым константам функции-обертки __(‘your string here’). Ninja form позволяет зацепиться и отфильтровать любые элементы создаваемых форм и полей.

Перевод меток и плейсхолдеров полей.

Здесь я хочу отметить два момента:

  • Укажите пространство имен переводов (в примере — mytheme-ninjaforms), чтобы выделить переводы связанные с вашей темой и ninja forms в отдельную группу или файл;
  • свойств у полей гораздо больше, изучайте что ещё можно перевести с помощью этого фильтра.

Перевод/исправление сообщений об ошибках и других строковых констант формы

Вообще-то эта часть не вызывает проблем, т.к. перевод уже сделан за нас (на многие-многие языки). Но если вам вдруг понадобиться что то поправить, то используйте следующих хук:

Этот пример я взял из офф руководства (там правда текст был для польского языка).

В хук передаются переведенные значения для текущей локали. Для мультиязычного варианта более верно:

Зацепка к сообщениям, настройкам всей формы

Данный фильтр позволяет изменить настройки формы, получить доступ ко всем сообщениям об ошибках. Частично этот фильтр пересекается с предыдущим.

Ещё хуки…

Это далеко не полный перечень зацепок, которые можно задействовать при переводе. Покопаться можно в /includes/Display/Render.php файле плагина, чтобы найти что то более специфичное.

Мало букафф? Читайте есчо !

Отключаем архивы в wordpress

Апрель 8, 2017 г.

Wordpress, хотим ли мы того или нет, поддерживает работу специальных лент, которые называются архивами. Есть архивы по годам, месяцам и даже конкретным дням. Также поддерживаются ленты (архивы) по терминам таксономии (метки, теги, категории и т.п.). ...

Читать

Бесконечные редиректы на WP сайте после включения HTTPS

Ноябрь 27, 2024 г.

Если сайт находится за неким прокси, который реализует SSL, а на веб-сервере при этом не настроен HTTPS протокол, то WP может начать бесконечный цикл переадресаций. Начинается это сразу после изменения URL домашней страницы в админке. Анамнез ...

Читать

Получить ID публикации по адресу (slug, path, name) в WP

Февраль 8, 2018 г.

Wordpress API очень разрослось, и почти на каждый случай есть своя функция. И в этой куче функций найти то, что нужно, бывает не просто. Задача - получить ID публикации по её адресу, а вернее значению slug или post_name. В кодексе есть подходящая ...

Читать

Добавляем flash (swf) файлы в медиатеку сайта на Wordpress

Июнь 20, 2016 г.

Файлы Adobe Flash с расширением .swf нельзя загрузить в wordpress из коробки. Сделано так не без веских на то оснований. Но если вы осознаёте риски, то ...

Читать
 

Комментарии к «Переводим Ninja Forms в WP»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: