我需要在插件中使用wp_insert_user
和wp_update_user
之类的函数,但是这些函数会调用其他尚未加载的函数(例如get_user_by
或get_userdata
)。
如果我需要使用这些函数的pluggable.php
文件,它可以工作,但是弄乱WordPress加载顺序对我来说似乎是个坏主意。
您如何在插件中使用这些功能?
答案 0 :(得分:0)
研究了ACF插件的工作方式后,我找到了一个解决方案,而不是在加载插件时调用该函数,而是将其添加到动作init
中。
require 'myClass.php';
$myClass = new myClass();
add_action('init', [$myClass, 'myFunction']);
我甚至建议对您的插件使用主类,并在__construct
中将您的逻辑与init
和/或plugins_loaded
挂钩。
class MyPlugin {
public function __construct() {
add_action( 'plugins_loaded', [$this, 'plugins_loaded'] );
add_action( 'init', [$this, 'init'] );
}
public function plugins_loaded() {
// pluggables functions are available here
}
public function init() {
// pluggables functions are available here
}
}
new MyPlugin();