2017-07-14 180 views
0

我使用WordPress的wp-API来创建一些端点和我有这样的电话:发送参数给PHP回调

register_rest_route('1.00', '/trial/confirm', array(
     'methods' => 'POST', 
     'callback' => array($trial_service, 'callback_confirm'), 
     'permission_callback' => array($this, 'check_permission_master'), 
     'args' => array(
      'token' => array(
       'required' => true, 
       'sanitize_callback' => 'esc_attr' 
      ) 
     ) 
    )); 

我想知道如何传递参数不仅仅是$请求permission_callback功能。任何帮助将非常感激。

回答

0

您不能向该函数发送更多参数,但可以创建一个包含方法check_permission_master的类。然后将所需的所有参数传递给该类(例如,在构造上)。稍后在check_permission_master中使用它们。例如:

class Permissions 
{ 
    protected $param1; 
    protected $param2; 

    public function __construct($param1, $param2) 
    { 
     $this->param1 = $param1; 
     $this->param2 = $param2; 
    } 

    public function check_permission_master($request) 
    { 
     ... 
    } 
} 

然后在你的代码中使用它:

$permissions = new Permissions(...); 
... 

    'permission_callback' => array($permissions, 'check_permission_master'), 

...