Closed. This question is off-topic. It is not currently accepting answers.admin管理员组文章数量:1277899
Your question should be specific to WordPress. Generic PHP/JS/SQL/HTML/CSS questions might be better asked at Stack Overflow or another appropriate Stack Exchange network site. Third-party plugins and themes are off-topic for this site; they are better asked about at their developers' support routes.
Closed 7 years ago.
Improve this questionI have seen the token %1$ and similar ones more often in the WordPress code lately, but I can't figure out what it means. Here an example:
sprintf( __( '%1$s is deprecated. Use %2$s instead.' ),
Does anyone know what it means?
Closed. This question is off-topic. It is not currently accepting answers.Your question should be specific to WordPress. Generic PHP/JS/SQL/HTML/CSS questions might be better asked at Stack Overflow or another appropriate Stack Exchange network site. Third-party plugins and themes are off-topic for this site; they are better asked about at their developers' support routes.
Closed 7 years ago.
Improve this questionI have seen the token %1$ and similar ones more often in the WordPress code lately, but I can't figure out what it means. Here an example:
sprintf( __( '%1$s is deprecated. Use %2$s instead.' ),
Does anyone know what it means?
Share Improve this question edited Oct 3, 2021 at 10:18 Johansson 15.4k11 gold badges43 silver badges79 bronze badges asked Feb 16, 2018 at 19:50 user136032user136032 1 |2 Answers
Reset to default 15Read the PHP docs on sprintf().
%s
is just a placeholder for a string%d
is just a placeholder for a number
So an example of sprintf would look like this:
$variable = sprintf(
'The %s ran down the %s', // String with placeholders
'dog', // Placed in the first %s placeholder
'street' // Placed in the second %s placeholder
);
Which will return a string to our variable $variable
:
The dog ran down the street
By numbering the placeholders it's both a developer-friendly way to quickly tell which following string will be placed where. It also allows us to reuse a string. Let's take another example with numbered placeholders:
$variable = sprintf(
'The %1$s ran down the %2$s. The %2$s was made of %3$s', // String with placeholders
'dog', // Will always be used in %1$s placeholder
'street', // Will always be used in %2$s placeholder
'gravel' // Will always be used in %3$s placeholder
);
Which will return a string to our variable $variable
:
The dog ran down the street. The street was made of gravel
Finally, the __()
function let's us translate strings passed to it. By passing __()
placeholders, and then passing that whole string to sprintf()
, we can translate whatever is passed to the translating function allowing us to make our string and application a bit more dynamic.
It's not a WordPress thing, it's a PHP thing. %1$s
, %2$s
, etc., are placeholders for variables in a formatted string returned by sprintf()
(or printed by printf()
).
The 1$
indicates it's the first variable, 2$
would be the second, and so forth. The s
indicates it's a string variable. Other options exist (eg, d
would indicate an integer).
The example you give is incomplete: it's certainly something like this in its entirety:
sprintf( __( '%1$s is deprecated. Use %2$s instead.' ),
$string_1,
$string_2 );
本文标签: phpWhat does the token 1s in WordPress represent
版权声明:本文标题:php - What does the token %1$s in WordPress represent 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741289432a2370460.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
sprintf
, look here : secure.php/sprintf – mmm Commented Feb 16, 2018 at 20:03