Эта строка использует две разные функции, которые требуют двух отдельных объяснений.
__ ()
Это функция перевода. Если настройки выполнены правильно, он переведет первый параметр из списка предварительно переведенных строк. Если в установке есть файл с скомпилированным переводом для этой функции, он будет использовать его. Конечно, плагин должен упаковать свой перевод, отсюда и второй параметр. simplr-reg
говорит, __()
что перевод строки 'Please fill out this form to sign up for this site'
должен быть в файле перевода, связанном с 'simplr-reg'
(это делается ранее в плагине с помощью load_plugin_textdomain()
функции).
Затем функция возвращает перевод. Если нет перевода для возврата (например, текущий язык не имеет скомпилированного перевода, строка не имеет скомпилированного перевода для этого пакета и т. Д.), Возвращается исходный ввод.
Так что для сайта WordPress на английском языке, __( 'This', 'simplr-reg' )
это функционально так же, как 'This'
. Чтобы узнать больше о l10n (Локализация), прочтите об этом в кодексе:
http://codex.wordpress.org/I18n_for_WordPress_Developers
apply_filters ()
Эта функция позволяет вам при необходимости фильтровать значения, используемые плагином. Это одна из основных концепций, которую нужно понять разработчикам плагинов. WordPress расширяется с помощью хуков, которые в основном являются точками доступа, позволяющими вам определять время выполнения действий вашего плагина и / или манипулировать информацией / данными, которые использует WordPress, и т. Д.
Чтобы манипулировать данными, такими как фрагмент кода, о котором вы спрашивали, вы должны использовать функцию add_filter()
. Вот основной пример того, как это работает:
add_filter( 'simplr-reg-instructions', 'wpse16573_my_filter' );
Вы, вероятно, узнаете первый аргумент там. Это тот же самый, который использовался add_filter
выше. Это имя крючка. Второй аргумент - обратный вызов фильтра. Это должен быть действительный обратный вызов функции ( подробнее об обратных вызовах здесь ). Эта строка кода говорит: «Когда 'simplr-reg-instructions'
ловушка будет выполнена, запустите функцию с предоставленным мною обратным вызовом». apply_filters()
выполняет ловушку, найденную в первом аргументе, что означает «выполнить все функции, зарегистрированные для этой ловушки». apply_filters
затем передает все остальные аргументы (в данном случае 'Please fill out this form to sign up for this site'
) функциям этого фильтра. Итак, обратный вызов, который я использовал выше, должен выглядеть так:
function wpse16573_my_filter( $text ){
$text = "<strong>$text</strong>";
return $text;
}
В WordPress есть два типа хуков: фильтры (которые мы здесь используем) и действия. Основное различие между ними состоит в том, что фильтры ожидают, что вы что-то возвратите, а действия - нет. Итак, для этого фильтра мой пример выше добавляет html 'Please fill out this form to sign up for this site'
и возвращает его.
Подробнее о действиях и хуках читайте здесь:
http://codex.wordpress.org/Plugin_API