Comment printf (__ ()); travail?

10

Aujourd'hui, je travaille sur un thème pour mieux comprendre WordPress et les modèles. J'ai découvert ceci:

<?php 
printf( 
    __('Designed by %s', 'Anyword'), 
    '<a href="http://www.example.com">Blub</a>'
); 
?>

Je sais que cela montre "Designed by Blub" (Où Blub est lié) Mais que signifie __() ou pourquoi existe-t-il une chaîne insérée? À quoi sert l’Anyword?

Quelqu'un peut-il m'expliquer exactement cette phrase?

    
posée Denny Mueller 02.07.2012 - 16:56

1 réponse

7

Il est utilisé pour la traduire le texte .

Le deuxième argument est un type d'espace de nom (appelé domaine ici) pour récupérer la traduction (par exemple à partir d'un fichier dédié). fichier ou autre chose).

Donc, Anyword ici, devrait être le type derrière le modèle, ou la société ou quoi que ce soit qui puisse être un domaine / un espace de noms.

modifier:

La doc de wordpress explique plus en détail comment internationaliser un plugin :

Ajoutez ceci au code du plugin pour vous assurer que le ou les fichiers de langue sont chargés:

load_plugin_textdomain('your-unique-name', false, basename( dirname( __FILE__ ) ) . '/languages' );

Pour récupérer une chaîne, utilisez simplement __('String name','your-unique-name'); pour renvoyer la traduction ou _e('String name','your-unique-name'); pour faire écho à la traduction. Les traductions iront ensuite dans le dossier / languages de votre plugin.

Pour votre plugin / thème, le your-unique-name semble être Anyword .

    
réponse donnée j0k 02.07.2012 - 17:03

Lire d'autres questions sur les étiquettes