我最近构建了一个插件,并使用了本文中的代码:Create more Meta Boxes as needed
代码运行良好,但我不理解printf部分中的最后一个参数。
if ( isset( $track[\'title\'] ) || isset( $track[\'track\'] ) ) {
printf( \'<p>Song Title <input type="text" name="songs[%1$s][title]" value="%2$s" /> -- Track number : <input type="text" name="songs[%1$s][track]" value="%3$s" /><span class="remove">%4$s</span></p>\', $c, $track[\'title\'], $track[\'track\'], __( \'Remove Track\' ) );
$c = $c +1;
}
我不明白最后一部分,那就是
__( \'Remove Track\' )
有人能给我详细解释一下吗?
提前感谢!!!
最合适的回答,由SO网友:cybmeta 整理而成
__( \'Remove Track\' )
是可翻译字符串。__()
, _e()
, _x()
, ... 所有这些都是WordPress用于语言本地化的gettext函数。缺少第二个参数(可选),即textdomain,通常应为:
__( \'Remove Track\', \'your-plugin-text-domain\' )
这样,如果相同的字符串也存在于另一个插件或核心中,那么您的插件可以翻译该字符串,而不会产生任何冲突。
您可以在中获得更多详细信息I18n for WordPress Developers.