WordPress プラグインを作成していますが、UNIX タイムスタンプをデータベースに保存し、1 時間以上経過した場合に DB エントリを更新したいと考えています。
ここに私のプラグインからのコードスニペットがあります:
const DB_TIME = 'my_database_key';
$db_option_time = get_option ( DB_TIME );
$now = time();
switch ( $db_option_time ) {
case false:
update_option ( DB_TIME, $now );
break;
case true:
$time_difference = $now - $db_option_time;
if ( $time_difference >= 3600 ) {
update_option ( DB_TIME, $now );
}
break;
default:
break;
}
および変数で実行var_dump()
すると、タイムスタンプがデータベースに保存されているものと異なることを除いて、2 つの異なるタイムスタンプが表示されます。$db_option_time
$now
$db_option_time
変数に対してデータベースのタイムスタンプを確認する$now
と、3600 秒を超える差があります (私の信頼できる計算機で確認した場合)。get_option
WordPress の機能に問題があると思いますか?
次に例を示します。
- データベース エントリ (phpMyAdmin で確認) は1367324833 です
get_option()
WordPress 関数は1367330177を返します(変数で示されvar_dump()
ているように$db_option_time
)
get_option()
関数がデータベースから正しいタイムスタンプを取得し、それに何かをしているように見えますか?