1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

class内のフックを外したりする時のメモ

Last updated at Posted at 2018-08-22

クラス内のフックについてはうまく外せない事があるが、
クラス側の書き方によって外し方も異なるのでメモ

__construct からフックする時に get_called_class() にしておくと、外す時に比較的ラクに外せる。

class Vk_Mobile_Nav {
	public function __construct() {
		add_action( 'wp_footer', array( get_called_class(), 'menu_set_html' ) );
	}
}
$vk_mobile_nav = new Vk_Mobile_Nav;

// 外す
remove_action( 'wp_footer', array( 'Vk_Mobile_Nav', 'menu_set_html' ) );

__construct で $this などで書かれている場合は、
new された グローバル変数を配列に入れて remove_actionすれば外せる。

class Vk_Mobile_Nav {
	public function __construct() {
		add_action( 'wp_footer', array( $this, 'menu_set_html' ) );
	}
}
global $vk_mobile_nav;
$vk_mobile_nav = new Vk_Mobile_Nav;


// 外す
global $vk_mobile_nav;
remove_action( 'wp_footer', array( $vk_mobile_nav, 'menu_set_html' ) );

下記にも詳しくかかれている。
https://labelog.net/post/820

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?