wp_unschedule_hook()


WordPress関数wp_unschedule_hook()は、特定のスケジュールフックを登録解除するために使用されます。これにより、不要な定期的なイベントが実行されなくなります。

シンタックス

wp_unschedule_hook( string $hook );
  • $hook (string) — 登録解除するフックの名前。

例 1: フックの登録解除

特定のスケジュールイベントを登録解除する簡単な例です。

<?php wp_unschedule_hook( 'my_custom_hook' ); ?>

例 2: 定期的なイベントの削除

カスタムイベントを削除し、リソースを節約する場合の例です。

<?php
if ( wp_next_scheduled( 'my_daily_event' ) ) {
    wp_unschedule_hook( 'my_daily_event' );
}
?>

例 3: 全ての関連フックの登録解除

指定されたフックに関連する全てのイベントを解除する方法です。

<?php
$hook_name = 'hourly_hook';
while ( $timestamp = wp_next_scheduled( $hook_name ) ) {
    wp_unschedule_event( $timestamp, $hook_name );
}
?>

例 4: フックが存在する場合の削除

条件付きでフックを削除する例です。

<?php
if ( has_filter( 'my_filter_hook' ) ) {
    wp_unschedule_hook( 'my_filter_hook' );
}
?>

例 5: 管理ページでフックを登録解除

管理者が特定の条件に基づいてイベントを削除する場合の例です。

<?php
add_action( 'admin_init', function() {
    if ( current_user_can( 'manage_options' ) ) {
        wp_unschedule_hook( 'my_admin_hook' );
    }
} );
?>

注意事項

  • wp_unschedule_hook()を使用するときは、正しいフック名を指定してください。
  • この関数は定期的なイベントを削除しますが、既に実行されたイベントには影響しません。

関連機能: