我正在创建一个 WordPress 插件,我想要它做的是在数据库中存储一个 UNIX 时间戳,然后在一个小时或更长时间过去时更新数据库条目。
这是我插件的代码片段:
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()
在$db_option_time
and$now
变量上运行,它会显示两个不同的时间戳,除了$db_option_time
时间戳与数据库中保存的不同!
在对照$now
变量检查数据库中的时间戳时,差异大于 3600 秒(使用我可信赖的计算器检查时)。get_option
我认为WordPress 功能出了点问题?
这是一个例子:
- 数据库条目(在 phpMyAdmin 中检查)是1367324833
get_option()
WordPress 函数返回1367330177(从变量上var_dump()
显示)$db_option_time
似乎该get_option()
函数正在从数据库中提取正确的时间戳,然后对其进行处理?