Essa linha está usando duas funções diferentes que precisam de duas explicações separadas.
__ ()
Esta é uma função de tradução. Se as configurações forem feitas corretamente, ele traduzirá o primeiro parâmetro de uma lista de strings pré-traduzidas. Se uma instalação tiver um arquivo com uma tradução compilada para essa função, ela será usada. Claro, o plugin tem que empacotar sua própria tradução, daí o segundo parâmetro. simplr-reg
diz a __()
que a tradução da string 'Please fill out this form to sign up for this site'
deve estar no arquivo de tradução associado a 'simplr-reg'
(isso é feito anteriormente no plugin por meio da função load_plugin_textdomain()
).
A função então retorna a tradução. Se não houver tradução para retornar (por exemplo, o idioma atual não tiver uma tradução compilada, a string não tiver uma tradução compilada para esse pacote etc.), a entrada original será retornada.
Portanto, para um site WordPress em inglês, __( 'This', 'simplr-reg' )
é funcionalmente o mesmo que 'This'
. Para aprender mais sobre l10n (localização), leia-o no códice:
apply_filters ()
Esta função permite filtrar os valores usados pelo plug-in, conforme necessário. Este é um dos principais conceitos para entender como um desenvolvedor de plugins. O WordPress é estendido através de ganchos, que são basicamente pontos de acesso, permitindo que você cronometre a execução das ações do seu plugin e / ou manipule informações / dados que o WordPress usa, etc.
Para manipular dados como o snippet de código que você perguntou, use a função add_filter()
. Veja um exemplo básico de como isso funciona:
add_filter( 'simplr-reg-instructions', 'wpse16573_my_filter' );
Você provavelmente reconhecerá o primeiro argumento lá. É o mesmo usado em add_filter
acima. Este é o nome do gancho. O segundo argumento é o retorno de chamada do filtro. Deve ser um callback válido para uma função ( leia mais sobre callbacks aqui ). Essa linha de código diz "Quando o 'simplr-reg-instructions'
hook é executado, execute a função com o retorno de chamada que eu forneci." apply_filters()
executa o gancho encontrado em seu primeiro argumento, essencialmente significando "executar todas as funções registradas para este gancho". apply_filters
, em seguida, passa todos os outros argumentos (neste caso, 'Please fill out this form to sign up for this site'
) para as funções nesse filtro. Então, o retorno de chamada que eu usei acima deve ficar assim:
function wpse16573_my_filter( $text ){
$text = "<strong>$text</strong>";
return $text;
}
Existem dois tipos de ganchos no WordPress: filtros (o tipo que estamos usando aqui) e ações. A principal diferença entre os dois é que os filtros esperam que você retorne algo e as ações não. Então, para esse filtro, meu exemplo acima adiciona um pouco de html em torno de 'Please fill out this form to sign up for this site'
e o retorna.
Leia mais sobre ações e ganchos aqui: