Jak działa printf (__ ()); praca?

12

Dzisiaj pracuję nad tematem, aby lepiej zrozumieć WordPress i szablony. Odkryłem to:

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

Wiem, że pokazuje „Zaprojektowany przez Blub” (Gdzie jest powiązany z Blubem) Ale co to __()znaczy lub dlaczego jest tam wstawka do łańcucha? Po co jest Anyword?

Czy ktoś może mi dokładnie wyjaśnić tę linię?

Denny Mueller
źródło

Odpowiedzi:

8

Służy do tłumaczenia tekstu .

Drugi argument to rodzaj przestrzeni nazw (zwanej tutaj domeną), aby pobrać tłumaczenie (na przykład z dedykowanego pliku lub czegoś innego).

Więc Anywordtutaj powinien być facet stojący za szablonem, firma lub cokolwiek to może być domena / przestrzeń nazw.

edytować:

Dokument z wordpress zawiera więcej wyjaśnień na temat internacjonalizacji wtyczki :


Dodaj to do kodu wtyczki, aby upewnić się, że pliki językowe są załadowane:

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

Aby pobrać ciąg, po prostu użyj, __('String name','your-unique-name');aby zwrócić tłumaczenie lub _e('String name','your-unique-name');powtórzyć tłumaczenie. Tłumaczenia przejdą następnie do folderu wtyczki / języków.


your-unique-nameWygląda na to , że masz wtyczkę / motyw Anyword.

j0k
źródło
W kompozycji jest kilka plików językowych. Skąd spór wie, że używa ich tylko do „Anyword”?
Zaktualizowałem swoją odpowiedź lepszą częścią dokumentu WP.