加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 使用OOP在wordpress中添加add_action?

发布时间:2020-12-13 22:50:03 所属栏目:PHP教程 来源:网络整理
导读:我正在学习OOP,我想我已经掌握了它.我的问题是为什么wordpress样板插件的作者写了这样的添加动作函数 add_action('admin_init',array($this,'admin_init')); 根据codex,我理解add_action钩子,要传递的参数是$tag“$function_to_add被挂钩的动作的名称”,以及
我正在学习OOP,我想我已经掌握了它.我的问题是为什么wordpress样板插件的作者写了这样的添加动作函数

add_action('admin_init',array(&$this,'admin_init'));

根据codex,我理解add_action钩子,要传递的参数是$tag“$function_to_add被挂钩的动作的名称”,以及你想挂钩的函数$function_to_add.

我理解OOP中的函数是方法,我可以看到为什么这可能会改变语法,但这只是一个模糊的表示,我想要一个明确的答案,为什么作者使用数组,然后使用& $this.我理解为什么人们会使用$this->属性但不太确定& $this.

它只是你如何引用该方法?如果是这样,我仍然不理解数组,为什么它看起来不像$this-> admin_init.

顺便说一句,结构看起来像这样

class my_plugin_settings {

            public function __construct() {

                    // register actions
                    add_action('admin_init','admin_init'));

            } 

            public function admin_init() {

                    //Settings here
            }
    }

解决方法

& this为PHP功能提供了上下文,它将它连接到您的admin_init函数.查看add_action的声明或查看 http://www.php.net/manual/en/function.call-user-func-array.php.

这就是PHP知道如何在该对象中使用该函数,而不是全局级函数

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读