Wordpress插件和动作挂钩

时间:2014-10-15 13:07:01

标签: php wordpress-plugin hook

我是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) {

  ....
}

1 个答案:

答案 0 :(得分:0)

您需要使用

更改操作挂钩
private static function init_hooks() {
   add_action('init',array( 'Plugin', 'foo1' ) );
   add_filter('filter1', array( 'Plugin', 'foo2' ));