WP add_action factory

时间:2020-02-25 作者:d0t_m

您好,我是WP和PHP的新手,我正在尝试创建一个(maybe) an array of arrays, 然后习惯于generate N° add_action for each array passed.

示例:

[
  array(
  "name" => "my_custom_action",
  "cb" => "function(){return true;}" 
)
]
这是我迄今为止编写的代码。

class Actions {

    public function __construct($actions){
      $this->actions = $actions;

      foreach($this->actions as $action){
        add_action($action[\'name\'], $action[\'cb\']);
      }
    }

  }
我在读关于create_function() 方法,但已弃用。

我想了解如何create multiple add_action 基本上只需一次调用,而不是每次编写函数,然后在构造函数中添加操作。

我还发现:https://www.php.net/manual/en/functions.anonymous.php

它用于生成函数,而不是使用create_function(), 但我不太明白。

1 个回复
最合适的回答,由SO网友:Himad 整理而成

查看phpcallable 手册

PHP函数以其名称作为字符串传递。可以使用任何内置或用户定义的函数,但语言构造除外,例如:array()、echo、empty()、eval()、exit()、isset()、list()、print或unset()。

然而,在代码示例中,您使用的是一个匿名函数,可以直接传递。

[ array( "name" => "my_custom_action", "cb" => function(){return true;} ) ]