我正在尝试安排wordpress cron作业具有动态挂钩。我正在开发一个插件,cron作业将被动态调度。我需要一种方法来命名与登录用户直接对应的挂钩。所以我将用户登录名附加为钩子名。这是我正在使用的一段代码。
class Easy_Editor_Settings {
public $script="";
public $default_email="";
public $default_name="";
public $hook="";
public function __construct() {
global $current_user;
wp_get_current_user();
$current_username=$current_user->user_login;
$this->hook="easy_user".$current_username;
add_action ($this->hook, [$this,\'run_service\'], 1, 10 );
add_action( \'wp_ajax_easy_email_settings_call_back\', [$this,\'easy_email_settings_call_back\'] );
add_filter(\'cron_schedules\',[$this,\'my_cron_schedules\']);
}
公共函数运行服务只打印错误日志,但接收10个参数,这些参数我以后必须使用。我可以看到正在使用WP控制插件安排作业。问题是,当我通过在末尾附加$current\\u username变量来使用hook name时,run\\u服务函数不会运行。但是Wp控件向所需函数显示操作以及参数和钩子名称。但是,当我将get\\u current\\u user()附加为
$this->hook="easy_user".get_current_user();
run\\u service函数可以工作,但是,get\\u current\\u user返回我的操作系统用户名,而不是wp username。我不确定是什么导致了这个问题,我需要一些方法在hook name中附加当前登录的用户。