Ce înseamnă token-ul %1$s în WordPress
Citește documentația PHP despre sprintf().
%s
este doar un substituent pentru un șir de caractere%d
este doar un substituent pentru un număr
Deci un exemplu de sprintf ar arăta astfel:
$variable = sprintf(
'The %s ran down the %s', // Șir cu substituenți
'dog', // Plasat în primul substituent %s
'street' // Plasat în al doilea substituent %s
);
Care va returna un șir către variabila noastră $variable
:
The dog ran down the street
Prin numerotarea substituenților, este o modalitate prietenoasă pentru dezvoltatori de a identifica rapid unde va fi plasat fiecare șir următor. De asemenea, ne permite să refolosim un șir. Să luăm un alt exemplu cu substituenți numerotați:
$variable = sprintf(
'The %1$s ran down the %2$s. The %2$s was made of %3$s', // Șir cu substituenți
'dog', // Va fi întotdeauna folosit în substituentul %1$s
'street', // Va fi întotdeauna folosit în substituentul %2$s
'gravel' // Va fi întotdeauna folosit în substituentul %3$s
);
Care va returna un șir către variabila noastră $variable
:
The dog ran down the street. The street was made of gravel
În final, funcția __()
ne permite să traducem șirurile de caractere transmise acesteia. Prin transmiterea substituenților __()
și apoi prin transmiterea întregului șir către sprintf()
, putem traduce orice este transmis funcției de traducere, permițându-ne să facem șirul și aplicația noastră puțin mai dinamice.

Nu este specific WordPress, este un lucru specific PHP. %1$s
, %2$s
, etc., sunt substituenți pentru variabile într-un șir formatat returnat de sprintf()
(sau afișat de printf()
).
1$
indică faptul că este prima variabilă, 2$
ar fi a doua și așa mai departe. s
indică faptul că este o variabilă de tip șir de caractere. Există și alte opțiuni (de exemplu, d
ar indica un întreg).
Exemplul pe care l-ai dat este incomplet: cu siguranță arată complet astfel:
sprintf( __( '%1$s este învechit. Folosește %2$s în loc.' ),
$string_1,
$string_2 );
