web-dev-qa-db-ja.com

WordPress初期化時にdo_action()によって行われた関数/メソッド呼び出しのログを取得する

do_action( 'init')が起動されたときに行われたメソッド呼び出しのログを取得する方法はありますか?

1
Simon Cossar

私はこれをプラグインで行う方法があるとは思いません(少なくとも500種類のエラーが発生するような方法でこれを最初に調べたのはこのためです)が、フックコールバックが呼び出されるコードのセクションdo_action関数のwp-includes/plugin.phpにあります。

https://github.com/WordPress/WordPress/blob/master/wp-includes/plugin.php#L453

これはWP 4.7で少し更新されていますが、この行を一時的に編集している場合は、デバッグを行うことができます。変化する:

$wp_filter[ $tag ]->do_action( $args );

if($tag == "init") echo "Calling " . $args[0] . ".<br />";
$wp_filter[ $tag ]->do_action( $args );

そしてこれは、どのコールバックが呼び出されているのかを知るのに役立つ情報をエコーするはずです。

2
Jason Coleman