Cum funcționează printf( __( ) ); în WordPress?

2 iul. 2012, 17:56:39
Vizualizări: 21.8K
Voturi: 12

Astăzi lucrez la o temă pentru a înțelege mai bine WordPress și sistemul de șabloane. Am descoperit următorul cod:

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

Știu că afișează "Designed by Blub" (unde Blub este un link) Dar ce înseamnă __() sau de ce există acel string insert? La ce folosește Anyword?

Poate cineva să-mi explice exact această linie de cod?

0
Toate răspunsurile la întrebare 1
2

Este folosit pentru traducerea textului.

Al doilea argument este un fel de namespace (numit domeniu aici) pentru a prelua traducerea (de exemplu dintr-un fișier dedicat sau altceva).

Deci Anyword aici ar trebui să fie persoana din spatele șablonului, compania sau orice altceva care poate fi un domeniu/namespace.

edit:

Documentația de la WordPress oferă mai multe explicații despre cum să internationalizezi un plugin:


Adaugă acest cod în plugin pentru a te asigura că fișierul/fișierele de limbă sunt încărcate:

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

Pentru a prelua un șir de caractere, folosește __('Numele șirului','your-unique-name'); pentru a returna traducerea sau _e('Numele șirului','your-unique-name'); pentru a afișa traducerea. Traducerile vor fi apoi plasate în folderul /languages al pluginului tău.


Pentru pluginul/tema ta, your-unique-name pare să fie Anyword.

2 iul. 2012 18:03:01
Comentarii

Există câteva fișiere de limbă în tema. Cum argumentul știe să le folosească doar pentru 'Anyword'?

User User
2 iul. 2012 18:17:14

Am actualizat răspunsul meu cu o parte mai bună din documentația WP.

User User
2 iul. 2012 18:21:03