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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ещё хуки…

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

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

Фильтры Wordpress, заданные в текущий момент

Декабрь 20, 2016 г.

Если вам понадобилось посмотреть какие же фильтры установлены в текущий момент, то обращаться к WP API не нужно - такой функции нет. Полный список активных хуков хранится в глобальной переменной $wp_filter. [crayon-69d152fd238c0235338321/] Это массив ...

Читать

Настроить порт для подключения к базе данных в WP

Февраль 18, 2023 г.

Отдельной переменной, а-ля DB_PORT, для выбора произвольного порта подключения к базе данных в Wordpress нет. Но порт можно задать как часть константы DB_HOST, например, установим порт 10101: [crayon-69d152fd23a7a256686766/] Настройки хранятся ...

Читать

Inactive User Deleter Tool 1.62

Август 26, 2023 г.

Небольшие обновления для плагина, который я поддерживаю для WP. Я хотел убрать ограничение, связанное с переменной PHP - max_input_vars. Дело в том, что каждый пользователь в списке - это отдельная переменная формы, и если список большой, то можно ...

Читать

Получение кода публикации, со страницы которой была отправлена форма WPCF7

Июнь 9, 2018 г.

В продолжение статьи о сохранении данных формы в БД в виде публикации в WP, я собираюсь рассказать о том как получить код публикации, со страницы которой была выполнена отправка данных формы. Находясь внутри обработчика wpcf7_mail_sent, вы не сможете ...

Читать
 

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

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



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