wp_schedule_single_event

(2.1.0以降)
wp_schedule_single_event - 一度だけ実行するアクションをスケジュールに登録する

説明

void wp_schedule_single_event( int $timestamp, string $hook [ , array $args = array() ] )
一度だけ実行するアクションをスケジュールに登録する。

パラメータ

  • $timestamp
    実行時間(GMT時刻)を指定。
  • $hook
    アクション名を指定。
  • $args
    スケジュールのパラメータを配列で指定(省略時はarray())。

返り値

基本的には何も返さない。

注意

パラメータ$timestampの値はGMT時間になるので、日本時間との時差に注意しなければならない。

同じアクション名であっても、パラメータの内容が異なれば複数登録できる。また、同アクション名、同じ内容のパラメータについては、設定する実行時間が以前の実行時間から10分を超えている場合は登録できる(10分以内は登録できない)。

使用例

  • アクション名'schedule_delayed_action'のアクションを登録する。
    <?php
    function delayed_action( $arg1 ) {
    	// ここにアクション内容を
    }
    add_action( 'schedule_delayed_action', 'delayed_action' );
    
    wp_schedule_single_event( time()+24*3600, 'schedule_delayed_action', array( 'hello world.' ) );
    ?>

フィルター

[3.1.0]アクションの登録前に'schedule_event'フィルターを呼び出す。パラメータ$eventには、'hook'、'timestamp'、'schedule'(値はfalse)、'args'プロパティを持つstdClassオブジェクトが格納されている。フィルター関数でfalseを返すと、そのアクション登録は中止となる(本関数の返り値にfalseを返す)。
$event = apply_filters( 'schedule_event', $event );

アクション

直接実行するアクションはありません。

ソースファイル

/wp-includes/cron.php

関連

  • wp_next_scheduled - スケジュールに登録されているアクションの実行時間を取得する
  • wp_unschedule_event - 登録済みのアクションをスケジュールから外す

お勧めコンテンツ

管理者ページに文言を表示する(2012年4月19日 登録)

お客様向けに管理者ページをカスタマイズする機会が増えてきている。カスタマイズするページや表示場所、表示内容によっていくつかの手段があるが、今回はページの冒頭部分に任意の文言を表示する方法を紹介する。

投稿記事でrubyタグを使えるようにする(前編)(2012年1月25日 登録)

rubyなどのルビ関連タグはIEの独自サポートから始まり、少し前のChrome/Safariが追随して利用できるようになっている。Firefoxはいまだにサポートしていないのだが、それなりに代替表示されるので、投稿記事で使えるようにしてみた。

各投稿記事で設定されているカスタムフィールドの値を取得するには(2011年9月16日 登録)

投稿記事ごとに設定されているカスタムフィールドの値はget_post_meta関数で取得できるが、すべての投稿記事で設定されているカスタムフィールドの値を一覧を取得する関数が見当たらない。カテゴリーや投稿タグのようにそれぞれの値と実際に使用されている投稿記事件数を取得したいのだが、探し方が悪いのか見つからないのだ。

oEmbed対応サイトを整理した(2014年9月3日 登録)

投稿記事にTwitterやYouTubeのURL(アドレス)を記述したとき、表示されるページにはリンクとしてではなく、埋め込んだURLの内容が表示される。この仕組み(機能)はoEmbedというもので、対応サイトは随時バージョンアップしている。

リクエスト応答を終了する前に何かを処理する(2013年9月26日 登録)

PHPでは、register_shutdown_function関数を使うことでリクエストに対してレスポンスを返した後に何らかの処理を行うことができる。WordPressでもregister_shutdown_function関数は使えると思うのだが、テーマ内のテンプレートでページを表示した後で何かを行う場合はどうすればいいのか、ちょっと調べてみた。

最終更新日時 : 2014-05-26 10:06