Php 如何在wp插件开发中自初始化类?

Php 如何在wp插件开发中自初始化类?,php,wordpress,plugins,init,Php,Wordpress,Plugins,Init,下面是一个WP插件的示例代码。我想在类中包含一个带有函数的样式表。但是我的'init'钩子不会运行init函数 class RentProduct{ public function init() { load_plugin_textdomain( 'eg', false, dirname( plugin_basename( __FILE__ ) ) . '/lang' ); add_action( 'wp_enqueue_scripts', array( $this, 'r

下面是一个WP插件的示例代码。我想在类中包含一个带有函数的样式表。但是我的'init'钩子不会运行init函数

class RentProduct{

public function init() {

    load_plugin_textdomain( 'eg', false, dirname( plugin_basename( __FILE__ ) ) . '/lang' );

    add_action( 'wp_enqueue_scripts', array( $this, 'register_plugin_styles' ) );

    // add_filter( 'the_content', array( $this, 'append_post_notification' ) );
}


public function register_plugin_styles() {
    wp_register_style( 'style', plugins_url( 'eg/assets/css/style.css' ) );
    wp_enqueue_style( 'style' );
}
}

add_action( 'init', array( 'RentProduct', 'init' ));

如果我之前打开了调试模式。。我最早看到的错误是,
$这是未定义的
。我应该使用类名而不是$this。我无法使用$this的原因是类尚未初始化,$this是类的实例。所以$this在类的其他方法中可以很好地工作,因为此时已经完成了初始化

class RentProduct{

public static function init() {

    // load_plugin_textdomain( 'lang', false, dirname( plugin_basename( __FILE__ ) ) . '/lang' );

    add_action( 'wp_enqueue_scripts', array( 'RentProduct' , 'register_plugin_styles' ) );

    // add_filter( 'the_content', array( $this, 'append_post_notification' ) );
}


public static function register_plugin_styles() {
    wp_register_style( 'main', plugins_url( 'wc-rent-products/assets/css/main.css' ) );
    wp_enqueue_style( 'main' );
}
}

add_action( 'init', array( 'RentProduct', 'init' ));

具有自初始化功能。。我的意思是不创建实例。不管怎样,谢谢,我自己想出来的。
class RentProduct{

public static function init() {

    // load_plugin_textdomain( 'lang', false, dirname( plugin_basename( __FILE__ ) ) . '/lang' );

    add_action( 'wp_enqueue_scripts', array( 'RentProduct' , 'register_plugin_styles' ) );

    // add_filter( 'the_content', array( $this, 'append_post_notification' ) );
}


public static function register_plugin_styles() {
    wp_register_style( 'main', plugins_url( 'wc-rent-products/assets/css/main.css' ) );
    wp_enqueue_style( 'main' );
}
}

add_action( 'init', array( 'RentProduct', 'init' ));