该行使用的是两个不同的功能,需要两个单独的解释。
__()
这是翻译功能。如果正确完成设置,它将转换预翻译字符串列表中的第一个参数。如果安装中的文件带有经过编译的翻译供该功能使用,它将使用它。当然,该插件必须打包自己的翻译,因此是第二个参数。simplr-reg
告诉__()
字符串的翻译'Please fill out this form to sign up for this site'
应该在与之关联的翻译文件中'simplr-reg'
(这是通过load_plugin_textdomain()
功能在插件中更早完成的)。
然后该函数返回翻译。如果没有要返回的翻译(例如,当前语言没有经过编译的翻译,字符串没有针对该包的经过编译的翻译等),则返回原始输入。
因此,对于英文WordPress网站,__( 'This', 'simplr-reg' )
其功能与相同'This'
。要了解有关l10n(本地化)的更多信息,请在抄本中进行阅读:
http://codex.wordpress.org/I18n_for_WordPress_Developers
apply_filters()
此功能允许您根据需要过滤插件使用的值。这是作为插件开发人员要掌握的主要概念之一。WordPress通过挂钩进行了扩展,这些挂钩基本上是访问点,可让您安排插件操作的执行时间和/或操纵WordPress使用的信息/数据等。
要处理数据(例如您所询问的代码片段),可以使用函数add_filter()
。这是一个如何工作的基本示例:
add_filter( 'simplr-reg-instructions', 'wpse16573_my_filter' );
您可能会认识到第一个参数。与add_filter
上面使用的相同。这是挂钩名称。第二个参数是过滤器回调。它必须是函数的有效回调(在此处了解有关回调的更多信息)。该行代码显示“ 'simplr-reg-instructions'
执行挂接后,使用我提供的回调运行函数。” apply_filters()
执行在其第一个参数中找到的钩子,本质上意味着“执行为此钩子注册的所有函数”。apply_filters
然后将所有其他参数(在本例中为'Please fill out this form to sign up for this site'
)传递给该过滤器上的函数。因此,我上面使用的回调应如下所示:
function wpse16573_my_filter( $text ){
$text = "<strong>$text</strong>";
return $text;
}
WordPress中有两种挂钩:过滤器(我们在这里使用的那种)和动作。两者之间的主要区别在于过滤器希望您返回某些内容,而操作则不会。因此,对于此过滤器,我上面的示例在其中添加了一些html 'Please fill out this form to sign up for this site'
并将其返回。
在此处阅读有关动作和挂钩的更多信息:
http://codex.wordpress.org/Plugin_API