did_action()


WordPress関数did_action()は、特定のフックが実行された回数を確認するために使用されます。この関数は、テーマやプラグイン内でアクションフックの動作を追跡する際に便利です。

構文

did_action( string $tag );
  • $tag (string) — 実行回数を確認したいアクションフックの名前。

例 1: フックが実行された回数を取得

このコードは、特定のフックがどのくらいの回数実行されたかを確認します。

<?php echo did_action( 'wp_head' ); ?>

例 2: フックの実行回数に基づいて条件分岐

特定のアクションフックが実行された後にのみコードを実行します。

<?php
if ( did_action( 'init' ) > 0 ) {
    echo 'initフックが実行されました。';
}
?>

例 3: フックが一度も実行されていない場合の処理

特定のアクションフックがまだ実行されていない場合の処理を示します。

<?php
if ( did_action( 'template_redirect' ) === 0 ) {
    echo 'template_redirectフックはまだ実行されていません。';
}
?>

例 4: 関連するフックの実行状況を確認

複数のフックの実行回数を確認し、それに応じて処理を行います。

<?php
$hook_count = did_action( 'wp_enqueue_scripts' );
if ( $hook_count > 1 ) {
    echo "wp_enqueue_scriptsフックが{$hook_count}回実行されました。";
}
?>

例 5: カスタムフックの監視

カスタムアクションフックの実行回数を追跡します。

<?php
do_action( 'my_custom_hook' );
echo did_action( 'my_custom_hook' );
?>

注意事項

  • did_action()はフックが実行された回数を返しますが、実行内容そのものを追跡するわけではありません。
  • 未登録のフック名を渡した場合、戻り値は常に0となります。
  • この関数はアクションフック専用であり、フィルターフックには適用できません。

関連機能: