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

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

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

提供: WordPress Codex 日本語版
移動先: 案内検索
(最新版のマージ)
(残りを和訳、セクション分けを見直し。)
 
3行目: 3行目:
 
</div>
 
</div>
  
指定した時間にWordPressのコアファイルによって一度だけ実行されるフックを登録します。アクションは誰かがWordPressサイトを訪れたときに予定した時間をすぎていれば実行されます。
+
指定した時刻に WordPress のコア機能によって一度だけ実行されるフック(アクション)を登録します。そのアクションは誰かが WordPress サイトを訪れたときに予定した時刻を過ぎていれば実行されます。
  
 
+
<div id="Usage">
<div id="Parameters ">
+
== 使用法 ==
== パラメータ ==
+
 
</div>
 
</div>
  
{{Parameter|$timestamp|integer|イベントを発生させたい時間です。UNIXのタイムスタンプ型でなくてはなりません。WP cron uses UTC/GMT time, not local time. Use <tt>[http://php.net/manual/en/function.time.php time()]</tt>, which is always GMT in WordPress. (<tt>[[Function_Reference/current_time|current_time( 'timestamp' )]]</tt> is local time in WordPress.}}
+
<?php wp_schedule_single_event( $timestamp, $hook, $args ); ?>
{{Parameter|$hook|string|実行したいフックの名前}}
+
{{Parameter|$args|array|フックした関数に渡す引数|オプション}}
+
  
== 戻り値 ==
+
同じ名前のイベントを10分より短い間隔で登録すると無視されるので注意してください。ただし <tt>$args</tt> にユニークな値を入れた場合は無視されません。詳しくは <tt>[[Function_Reference/wp_next_scheduled | wp_next_scheduled()]]</tt> /[[:en:Function_Reference/wp_next_scheduled|en]] を見てください。
{{Return||boolean&#124;null|False if the event was cancelled by a plugin, <tt>null</tt> otherwise.}}
+
  
<div id="Usage ">
+
<i>この振る舞いは変更される可能性があります。その理由は、コードの [https://core.trac.wordpress.org/ticket/6966 元々の意図] が10分以内に同じイベント2つを登録させないことだったからです。'''次回の実行予定から10分経過するまで'''同じイベントを登録させないことではありませんでした。</i>
== 使用法 ==
+
</div>
+
  
<?php wp_schedule_single_event( $timestamp, $hook, $args ); ?>
+
名前と <tt>$args</tt> の両方が同じイベントを続けて登録した場合も無視されます。
  
同じ名前のイベントを10分以下のタイミングで登録すると無視されるので注意してください。
+
<div id="Parameters">
 +
== パラメータ ==
 +
</div>
  
Note that scheduling an event to occur before 10 minutes after an existing event of the same name will be ignored, unless you pass unique values for <tt>$args</tt> to each scheduled event. See <tt>[[Function_Reference/wp_next_scheduled | wp_next_scheduled()]]</tt> for more information.
+
{{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>}}
  
<i>This behavior is subject to change, as the [https://core.trac.wordpress.org/ticket/6966 original intention] of the code was to prevent scheduling two identical events within ten minutes of each other, not preventing scheduling of identical events until ten minutes after the next scheduled occurrence.</i>
+
<div id="Return_Value">
 +
== 戻り値 ==
 +
</div>
  
Attempts to schedule an event after an event of the same name and <tt>$args</tt> will also be ignored.
+
{{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 ">
38行目: 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>
 
</pre>
  
=== 引数を指定して、今から一時間のイベントをスケジュールを設定===
+
<div id="Schedule an event one hour from now with arguments">
 +
=== 今から一時間後の引数付きイベントを登録 ===
 +
</div>
  
 
<pre>
 
<pre>
 
function do_this_in_an_hour( $arg1, $arg2, $arg3 ) {
 
function do_this_in_an_hour( $arg1, $arg2, $arg3 ) {
     // do something
+
     // 何か実行する(イベント)
 
}
 
}
 
add_action( 'my_new_event', 'do_this_in_an_hour', 10, 3 );
 
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 ) );
 
wp_schedule_single_event( time() + 3600, 'my_new_event', array( $arg1, $arg2, $arg3 ) );
  
// time() + 3600 = one hour from now.
+
// time() + 3600 = 今から1時間後。
 
</pre>
 
</pre>
  
== ==
+
<div id="Notes">
[http://en.wikipedia.org/wiki/Unix_time Wikipedia UNIX timestamp format]
+
== 参考 ==
 +
</div>
  
== 更新履歴==
+
[https://ja.wikipedia.org/wiki/UNIX時間 Wikipedia UNIX時間フォーマット]
 +
 
 +
<div id="Change Log">
 +
== 変更履歴 ==
 +
</div>
  
 
新規導入: [[Version 2.1|2.1.0]]
 
新規導入: [[Version 2.1|2.1.0]]
  
== ソースファイル==
+
== ソースファイル ==
  
<tt>wp_schedule_single_event()</tt> は {{Trac|wp-includes/cron.php}}にあります。
+
<tt>wp_schedule_single_event()</tt> は {{Trac|wp-includes/cron.php}} にあります。
  
== 関連 ==
+
<div id="Related">
 +
== 関連項目 ==
 +
</div>
  
 
{{Cron Tags}}
 
{{Cron Tags}}
85行目: 97行目:
 
{{Tag Footer}}
 
{{Tag Footer}}
  
{{NeedTrans|一部}}
+
{{原文|wp_schedule_single_event|151796}} <!-- 12:56, 26 May 2015 Miccweb 版 -->
 
+
{{原文|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最新版との差分