__() — возвращает переведенную строку

В том случае, если перевод заданной строки присутствует в языковах файлах, функция возвращает перевод, в обратном случае   просто возвращает первый аргумент.

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

__( $text, $domain = 'default' )

Параметры данной функции нельзя задавать в виде переменных, только в виде строк.

$text
(строка) Текст, который требуется перевести.
$domain
(строка) Уникальный идентификатор перевода, часто совпадает с названием директории темы/плагина.

Пример

$hi = __( 'Hello Misha!', 'truemisha' );

Если у вас на сайте используется русский язык и всё переведено более или менее правильно, то значение переменной $hi в итоге будет «Привет, Миш!».

Как видите, и первый и второй параметр функции — строки. Их нужно задавать непосредственно в функции, а не в виде переменных.

На заметку

  • Функция __() является абсолютно идентичной функции WordPress translate(), но так как функцию translate() нельзя использовать в коде напрямую, то я не стал её отдельно рассматривать в Кодексе.
  • l10n — это аббревиатура от localization (10 — количество букв между l и n в этом слове).
  • i18n — здесь 18 это количество букв между i и n в слове internationalization.
  • Во многих шрифтах функция выглядит как один длинный знак подчеркивания — это не так, она состоит из двух знаков подчеркивания.

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Миша: Да, точно)

  • Владимир: и на третьей строке не хватает скобки ) закрывающей if :)

  • Миша: Добрый вечер! Рекомендую получить ID пользователя через функцию get_current_user_id().

  • Дмитрий: Миша, подскажите пожалуйста, я использую такой редирект, но он не срабатывает: add_action( 'template_redirect', funct...

  • Миша: Ну как не определена - это аргумент функции. Или я просто вас не до конца понимаю.