WordPress插件开发常用函数-register_activation_hook()
所属栏目:
Wordpress教程 作者: WP管理员之家 标签:
wodpress教程,开发,插件 关注热度:
1,341 次
- register_activation_hook函数 (WordPress 2.0版本被引入) 寄存一个插件函数,该插件函数在插件被激活时运行。
-
- 该函数比activate_pluginname动作使用更加方便。
-
- 用法与参数
-
- $file, $function); ?>
-
- $file
-
- (字符串)wp-content/plugins目录下的主插件文件路径。可运行完全路径。
-
- $function
-
- (回调)激活插件后将运行的函数。任何PHP回调虚拟型态都可运行。
-
- 示例
-
- 如果在以下任一位置的主插件文件中有一个名为myplugin_activate()的函数
-
- wp-content/plugins/myplugin.php or
- wp-content/plugins/myplugin/myplugin.php
- 可使用以下代码:
-
- register_activation_hook( __FILE__, 'myplugin_activate' );
- 一旦激活插件, myplugin_activate()函数将被调用。这比使用activate_pluginname动作更为可靠。
-
- 变量范围注意事项
-
- 用户使用全局变量时,可能发生以下情况:传递给register_activation_hook()的函数无法在被调用时访问全局变量,即使用以下方式在函数内声明全局变量范围:
-
- $myvar='whatever';
-
- function myplugin_activate() {
-
- global $myvar;
- echo $myvar;
- }
-
- register_activation_hook( __FILE__, 'myplugin_activate' );
- 这是因为在原先的范围内,插件并不包含在全局变量范围内,而是包含在activate_plugin函数中,因此插件“主体”未被自动归入全局变量范围。
-
- 这就是编码时要*一直*保持明确表达的原因。如果希望将变量变成全局变量,就需要以同样方式声明。如果需要在插件主体中使用变量,就要在插件主体中作相应声明。
-
- 插件被激活时会被归入另一个函数,而与此同时在该函数内(指定为activate_plugin()函数)调用myplugin_activate()。这样主体变量成为activate_plugin()函数的的一部分且不成为全局变量,除非用户明确指定全局变量范围:
-
- global $myvar;
- $myvar='whatever';
-
- function myplugin_activate() {
- global $myvar;
- echo $myvar;
- }
-
- register_activation_hook( __FILE__, 'myplugin_activate' );
上一篇: wordpress用户中心插件,功能很全的哦
下一篇: WordPress程序代码优化方法总结
还没有任何评论,你来说两句吧