【发布时间】:2014-10-15 13:07:01
【问题描述】:
我是 WP 新手,我正在尝试创建一个新插件,但在添加类中定义的新操作时遇到问题。 我想根本问题是代码的执行方式和 init 操作挂钩,但我在互联网上找不到我的答案,我想知道是否有替代方法:
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) {
....
}
【问题讨论】:
-
你有什么错误吗?我不知道它是否有效,但由于您的 init 方法是静态的,请尝试像这样调用:
add_action( 'init', 'Plugin::init');和调试,die('I am step here');在您的init()方法的第一行。