• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

「関数リファレンス/wp schedule single event」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(もっと詳しく: 原文タグ)
(残りを和訳、セクション分けを見直し。)
 
(他の1人の利用者による、間の2版が非表示)
3行目: 3行目:
 
</div>
 
</div>
  
指定した時間にWordPressのコアファイルによって一度だけ実行されるフックを登録します。アクションは誰かがWordPressサイトを訪れたときに予定した時間をすぎていれば実行されます。
+
指定した時刻に WordPress のコア機能によって一度だけ実行されるフック(アクション)を登録します。そのアクションは誰かが WordPress サイトを訪れたときに予定した時刻を過ぎていれば実行されます。
  
<div id="Usage ">
+
<div id="Usage">
 
== 使用法 ==
 
== 使用法 ==
 
</div>
 
</div>
  
<pre>
+
<?php wp_schedule_single_event( $timestamp, $hook, $args ); ?>
&lt;?php wp_schedule_single_event(time(), 'my_schedule_hook'); ?&gt;
+
</pre>
+
  
同じ名前のイベントを10分以下のタイミングで登録すると無視されるので注意してください。
+
同じ名前のイベントを10分より短い間隔で登録すると無視されるので注意してください。ただし <tt>$args</tt> にユニークな値を入れた場合は無視されません。詳しくは <tt>[[Function_Reference/wp_next_scheduled | wp_next_scheduled()]]</tt> /[[:en:Function_Reference/wp_next_scheduled|en]] を見てください。
  
 +
<i>この振る舞いは変更される可能性があります。その理由は、コードの [https://core.trac.wordpress.org/ticket/6966 元々の意図] が10分以内に同じイベント2つを登録させないことだったからです。'''次回の実行予定から10分経過するまで'''同じイベントを登録させないことではありませんでした。</i>
  
 +
名前と <tt>$args</tt> の両方が同じイベントを続けて登録した場合も無視されます。
  
 +
<div id="Parameters">
 +
== パラメータ ==
 +
</div>
 +
 +
{{Parameter|$timestamp|整数|イベントを発生させたい時刻です。[https://ja.wikipedia.org/wiki/UNIX時間 UNIX のタイムスタンプ型]でなくてはなりません。WP cron はローカル時刻ではなく UTC/GMT 時刻を使います。WordPress でいつも GMT を返す <tt>[http://php.net/manual/ja/function.time.php time()]</tt> を使ってください。(WordPress の <tt>[[関数リファレンス/current_time|current_time( 'timestamp' )]]</tt> はデフォルトでローカル時刻です。)}}
 +
{{Parameter|$hook|文字列|実行したいフック(アクション)の名前}}
 +
{{Parameter|$args|array|フックした関数に渡す引数|オプション|<tt>array()</tt>}}
 +
 +
<div id="Return_Value">
 +
== 戻り値 ==
 +
</div>
 +
 +
{{Return||真偽値&#124;null|イベントがプラグインによってキャンセルされると False、そうでなければ <tt>null</tt>。}}
 +
 +
<div id="Examples">
 +
== 用例 ==
 +
</div>
  
 
<div id="Schedule an event one hour from now ">
 
<div id="Schedule an event one hour from now ">
24行目: 41行目:
 
<pre>
 
<pre>
 
function do_this_in_an_hour() {
 
function do_this_in_an_hour() {
// do something
+
    // 何か実行する(イベント)
 
}
 
}
add_action('my_new_event','do_this_in_an_hour');
+
add_action( 'my_new_event','do_this_in_an_hour' );
  
// この行を関数の中に入れてください。
+
// 次の行を関数の中に入れてください
// すべてのページ訪問に応じて、
+
// その関数はユーザーが何かを行ったときだけ実行されるものにしましょう
// ユーザーの操作に反応したり、新しいスケジュールを登録したりするものです。
+
// そうしないとページ訪問のたびに毎回新しいイベントが登録されます
  
wp_schedule_single_event(time()+3600, 'my_new_event');
+
wp_schedule_single_event( time() + 3600, 'my_new_event' );
  
// time()+3600 =今から1時間後
+
// time() + 3600 = 今から1時間後。
 +
</pre>
 +
 
 +
<div id="Schedule an event one hour from now with arguments">
 +
=== 今から一時間後の引数付きイベントを登録 ===
 +
</div>
 +
 
 +
<pre>
 +
function do_this_in_an_hour( $arg1, $arg2, $arg3 ) {
 +
    // 何か実行する(イベント)
 +
}
 +
add_action( 'my_new_event', 'do_this_in_an_hour', 10, 3 );
 +
 
 +
// 次の行を関数の中に入れてください
 +
// その関数はユーザーが何かを行ったときだけ実行されるものにしましょう
 +
// そうしないとページ訪問のたびに毎回新しいイベントが登録されます
 +
 
 +
wp_schedule_single_event( time() + 3600, 'my_new_event', array( $arg1, $arg2, $arg3 ) );
  
 +
// time() + 3600 = 今から1時間後。
 
</pre>
 
</pre>
  
<div id="Parameters ">
+
<div id="Notes">
== パラメータ ==
+
== 参考 ==
 
</div>
 
</div>
  
{{Parameter|$timestamp|integer|イベントを発生させたい時間です。UNIXのタイムスタンプ型でなくてはなりません。}}
+
[https://ja.wikipedia.org/wiki/UNIX時間 Wikipedia UNIX時間フォーマット]
{{Parameter|$hook|string|実行したいフックの名前}}
+
{{Parameter|$args|array|フックした関数に渡す引数|オプション}}
+
  
<div id="Further Reading ">
+
<div id="Change Log">
== もっと詳しく ==
+
== 変更履歴 ==
 
</div>
 
</div>
 +
 +
新規導入: [[Version 2.1|2.1.0]]
 +
 +
== ソースファイル ==
 +
 +
<tt>wp_schedule_single_event()</tt> は {{Trac|wp-includes/cron.php}} にあります。
 +
 +
<div id="Related">
 +
== 関連項目 ==
 +
</div>
 +
 +
{{Cron Tags}}
  
 
{{Tag Footer}}
 
{{Tag Footer}}
  
{{原文|wp_schedule_single_event|73230}}<!-- 19:11, 1 June 2009‎ Johnny5 版 -->
+
{{原文|wp_schedule_single_event|151796}} <!-- 12:56, 26 May 2015 Miccweb 版 -->
  
 +
{{DEFAULTSORT:Wp_schedule_single_event}}
 
[[Category:関数]]
 
[[Category:関数]]
 
[[Category:WP-Cron関数]]
 
[[Category:WP-Cron関数]]
 +
 +
[[en:Function_Reference/wp_schedule_single_event]]

2015年11月14日 (土) 13:47時点における最新版

指定した時刻に WordPress のコア機能によって一度だけ実行されるフック(アクション)を登録します。そのアクションは誰かが WordPress サイトを訪れたときに予定した時刻を過ぎていれば実行されます。

使用法

<?php wp_schedule_single_event( $timestamp, $hook, $args ); ?>

同じ名前のイベントを10分より短い間隔で登録すると無視されるので注意してください。ただし $args にユニークな値を入れた場合は無視されません。詳しくは wp_next_scheduled() /en を見てください。

この振る舞いは変更される可能性があります。その理由は、コードの 元々の意図 が10分以内に同じイベント2つを登録させないことだったからです。次回の実行予定から10分経過するまで同じイベントを登録させないことではありませんでした。

名前と $args の両方が同じイベントを続けて登録した場合も無視されます。

パラメータ

$timestamp
整数) (必須) イベントを発生させたい時刻です。UNIX のタイムスタンプ型でなくてはなりません。WP cron はローカル時刻ではなく UTC/GMT 時刻を使います。WordPress でいつも GMT を返す time() を使ってください。(WordPress の current_time( 'timestamp' ) はデフォルトでローカル時刻です。)
初期値: なし
$hook
文字列) (必須) 実行したいフック(アクション)の名前
初期値: なし
$args
array) (オプション) フックした関数に渡す引数
初期値: array()

戻り値

(真偽値|null) 
イベントがプラグインによってキャンセルされると False、そうでなければ null

用例

今から一時間後のイベントを登録する

function do_this_in_an_hour() {
    // 何か実行する(イベント)
}
add_action( 'my_new_event','do_this_in_an_hour' );

// 次の行を関数の中に入れてください
// その関数はユーザーが何かを行ったときだけ実行されるものにしましょう
// そうしないとページ訪問のたびに毎回新しいイベントが登録されます

wp_schedule_single_event( time() + 3600, 'my_new_event' );

// time() + 3600 = 今から1時間後。

今から一時間後の引数付きイベントを登録

function do_this_in_an_hour( $arg1, $arg2, $arg3 ) {
    // 何か実行する(イベント)
}
add_action( 'my_new_event', 'do_this_in_an_hour', 10, 3 );

// 次の行を関数の中に入れてください
// その関数はユーザーが何かを行ったときだけ実行されるものにしましょう
// そうしないとページ訪問のたびに毎回新しいイベントが登録されます

wp_schedule_single_event( time() + 3600, 'my_new_event', array( $arg1, $arg2, $arg3 ) );

// time() + 3600 = 今から1時間後。

参考

Wikipedia UNIX時間フォーマット

変更履歴

新規導入: 2.1.0

ソースファイル

wp_schedule_single_event()wp-includes/cron.php にあります。

Cron関数: spawn_cron /en, wp_cron /en, wp_schedule_event(), wp_schedule_single_event() /en, wp_clear_scheduled_hook() /en, wp_next_scheduled() /en, wp_unschedule_event() /en, wp_get_schedule() /en, wp_reschedule_event /en


関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » wp_schedule_single_event最新版との差分