Как работает printf( __( ) );?
Сегодня я работаю над темой, чтобы лучше понять WordPress и создание шаблонов. Я обнаружил следующее:
<?php
printf(
__('Designed by %s', 'Anyword'),
'<a href="http://www.example.com">Blub</a>'
);
?>
Я знаю, что это показывает "Designed by Blub" (где Blub является ссылкой),
но что означает __()
и почему там вставка строки? Для чего нужно слово Anyword?
Может кто-то точно объяснить эту строку для меня?

Используется для перевода текста.
Второй аргумент — это своего рода пространство имён (здесь называемое доменом) для получения перевода (например, из специального файла или чего-то ещё).
Таким образом, Anyword
здесь должен представлять автора шаблона, компанию или что-либо ещё, что может служить доменом/пространством имён.
редактирование:
Документация WordPress даёт больше пояснений о том, как интернационализировать плагин:
Добавьте это в код плагина, чтобы убедиться, что языковые файлы загружаются:
load_plugin_textdomain('your-unique-name', false, basename( dirname( __FILE__ ) ) . '/languages' );
Для получения строки просто используйте __('String name','your-unique-name');
для возврата перевода или _e('String name','your-unique-name');
для вывода перевода. Переводы должны располагаться в папке /languages вашего плагина.
Для вашего плагина/темы, your-unique-name
, по-видимому, является Anyword
.
