Я новичок в WP, и я пытаюсь создать новый плагин, и у меня возникают проблемы при добавлении новых действий, определенных внутри класса.
Я предполагаю, что основная проблема заключается в способе выполнения кода и ловушке действия инициализации, но я не могу найти свой ответ в Интернете, и я хочу знать, есть ли альтернатива для этого:
файл plugin.php
...
require_once( PLUGIN_DIR . 'class.plugin.php' );
add_action( 'init', array( 'Plugin', 'init' ) );
...
class.plugin.php
class Plugin {
private static $instance = false;
public static function init() {
if ( !self::$instance ) {
self::$instance = true;
self::init_hooks();
}
}
private static function init_hooks() {
add_action('init','foo1');
add_filter('filter1', 'foo2');
}
public static function foo1(){
....
}
public static function foo2($var) {
....
}
Вы должны изменить свой хук действия с
private static function init_hooks() {
add_action('init',array( 'Plugin', 'foo1' ) );
add_filter('filter1', array( 'Plugin', 'foo2' ));
Других решений пока нет …