该行使用两个不同的函数,需要两个单独的解释。
__()
这是一个转换函数。如果设置正确,它将转换预转换字符串列表中的第一个参数。如果安装有一个带有编译翻译的文件供此函数使用,它将使用它。当然,插件必须打包自己的翻译,因此是第二个参数。
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\\u filters()
此函数允许您根据需要过滤插件使用的值。这是插件开发人员需要掌握的主要概念之一。WordPress通过钩子进行扩展,钩子基本上是访问点,允许您计时插件操作的执行和/或操作WordPress使用的信息/数据等。
要操作数据,如您询问的代码片段,可以使用函数add_filter()
. 下面是一个基本的示例,说明了这是如何工作的:
add_filter( \'simplr-reg-instructions\', \'wpse16573_my_filter\' );
你可能会认出第一个论点。这和
add_filter
在上面这是挂钩名称。第二个参数是过滤器回调。它必须是对函数的有效回调(
read more about callbacks here). 这行代码说“当
\'simplr-reg-instructions\'
执行hook后,使用我提供的回调运行函数。“”
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