Cette ligne utilise deux fonctions différentes qui nécessitent deux explications distinctes.
__ ()
Il s'agit d'une fonction de traduction. Si les réglages sont effectués correctement, il traduira le premier paramètre d'une liste de chaînes pré-traduites. Si une installation possède un fichier avec une traduction compilée pour cette fonction, elle l'utilisera. Bien sûr, le plugin doit empaqueter sa propre traduction, d'où le deuxième paramètre. simplr-reg
indique __()
que la traduction de la chaîne 'Please fill out this form to sign up for this site'
doit être dans le fichier de traduction associé à 'simplr-reg'
(cela se fait plus tôt dans le plugin au moyen de la load_plugin_textdomain()
fonction).
La fonction renvoie ensuite la traduction. S'il n'y a pas de traduction à renvoyer (par exemple, la langue actuelle n'a pas de traduction compilée, la chaîne n'a pas de traduction compilée pour ce paquet, etc.), l'entrée d'origine est retournée.
Donc pour un site WordPress en anglais, __( 'This', 'simplr-reg' )
c'est fonctionnellement le même que 'This'
. Pour en savoir plus sur l10n (Localisation), lisez-le dans le codex:
http://codex.wordpress.org/I18n_for_WordPress_Developers
apply_filters ()
Cette fonction vous permet de filtrer les valeurs utilisées par le plugin selon vos besoins. C'est l'un des principaux concepts à saisir en tant que développeur de plugins. WordPress est étendu via des hooks, qui sont essentiellement des points d'accès vous permettant de chronométrer l'exécution des actions de votre plugin et / ou de manipuler les informations / données que WordPress utilise, etc.
Pour manipuler des données telles que l'extrait de code que vous avez demandé, vous utiliseriez la fonction add_filter()
. Voici un exemple de base de la façon dont cela fonctionne:
add_filter( 'simplr-reg-instructions', 'wpse16573_my_filter' );
Vous y reconnaîtrez probablement le premier argument. C'est le même que celui utilisé add_filter
ci-dessus. Ceci est le nom du crochet. Le deuxième argument est le rappel du filtre. Il doit s'agir d'un rappel valide d'une fonction (en savoir plus sur les rappels ici ). Cette ligne de code indique "Lorsque le 'simplr-reg-instructions'
hook est exécuté, exécutez la fonction avec le rappel que j'ai fourni." apply_filters()
exécute le hook trouvé dans son premier argument, signifiant essentiellement "exécuter toutes les fonctions enregistrées pour ce hook". apply_filters
passe ensuite tous les autres arguments (dans ce cas, 'Please fill out this form to sign up for this site'
) aux fonctions de ce filtre. Ainsi, le rappel que j'ai utilisé ci-dessus devrait ressembler à ceci:
function wpse16573_my_filter( $text ){
$text = "<strong>$text</strong>";
return $text;
}
Il existe deux types de crochets dans WordPress: les filtres (le type que nous utilisons ici) et les actions. La principale différence entre les deux est que les filtres s'attendent à ce que vous retourniez quelque chose et les actions ne le font pas. Donc, pour ce filtre, mon exemple ci-dessus ajoute du HTML autour 'Please fill out this form to sign up for this site'
et le renvoie.
En savoir plus sur les actions et les hooks ici:
http://codex.wordpress.org/Plugin_API
Vous avez ici deux fonctions différentes
apply_filters
et__()
La fonction apply_filters est la façon WordPress de vous permettre de changer / éditer la valeur des variables en utilisant vos propres fonctions de rappel et la
add_filter
fonction. il accepte de nombreux arguments mais les plus importants sont les deux premiers:$ tag est le nom du hook de filtre utilisé par
add_filter
exemple dans :$ value est la valeur réelle que vous pourrez modifier ou modifier.
$ var est une variable que votre fonction de rappel peut utiliser, une ou plusieurs.
__()
est utilisée pour les traductions:$ message est le message à traduire.
$ text_domain est la balise de domaine de texte utilisée pour charger la traduction du plugin ou du thème avec
load_plugin_textdomain()
ce qu'il fait?
Il recherche dans le module de localisation la traduction de $ message et transmet la traduction à l'instruction de retour PHP. Si aucune traduction n'est trouvée pour $ message, elle renvoie simplement $ message.
Alors maintenant, les deux fonctions dans votre cas fonctionnent de la même manière, les apply_filters enverront à toute fonction de rappel associée au
simplr-reg-instructions
crochet de filtre la valeur traduite (si elle existe) de 'Veuillez remplir ce formulaire pour vous inscrire à ce site' en utilisant le texte- domaine desimplr-reg
la source
apply_filters
est un espace réservé qui vous permet d'accrocher vos propres fonctions en utilisantadd_filter
, donc aucun add_filter n'est prévu sauf si vous ajoutez le vôtre