Wp_Options选项上的本机时间戳

时间:2022-01-03 作者:theMap

有人知道wp_options 表是否修改了其选项的时间戳?我有一个选项,其中有一个对象作为选项值,如下所示:

enter image description here

“The”;访问令牌“;在option value中,对象经常更新,我想检查;instagram“;已修改并返回时间戳。

如果没有,您认为只需将对象键设置为已修改并保存当前时间会更容易吗?

谢谢大家!我想尽可能地用get_option() 在我保存一把额外的钥匙之前。

1 个回复
最合适的回答,由SO网友:Pat J 整理而成

“没有”;已更新;中的列wp_options 桌子

mysql> describe wp_options;
+--------------+-----------------+------+-----+---------+----------------+
| Field        | Type            | Null | Key | Default | Extra          |
+--------------+-----------------+------+-----+---------+----------------+
| option_id    | bigint unsigned | NO   | PRI | NULL    | auto_increment |
| option_name  | varchar(191)    | NO   | UNI |         |                |
| option_value | longtext        | NO   |     | NULL    |                |
| autoload     | varchar(20)     | NO   | MUL | yes     |                |
+--------------+-----------------+------+-----+---------+----------------+
4 rows in set (0.07 sec)
如果需要知道选项何时更新,则需要将该信息注入选项本身。如果您正在管理代码,那就很容易了:只需在要保存的数组中添加一个新字段。

例如:

update_option(
    \'instagram\',
    array(
        \'username\' => \'semirtravels\',
        \'user_id\'  => \'{your user ID}\',
        // ...
        \'last_updated\' => time(),
   )
);
如果没有,您可以使用pre_update_option_{$option} 过滤器挂钩:

add_filter( \'pre_update_option_instagram\', \'wpse_400857_add_updated_time\', 10, 3 );
/**
 * Adds the current time() to the value of the `instagram` option.
 *
 * @param  mixed  $value     The option\'s value.
 * @param  mixed  $old_value The option\'s previous value.
 * @param  string $option    The option name.
 * @return mixed             The filtered option value.
 */ 
function wpse_400857_add_updated_time( $value, $old_value, $option ) {
    $value[\'last_updated\'] = time();
    return $value;
}

相关推荐

Huge wp_options table

我有一个WP网站的问题。由于没有更多可用磁盘空间,网站崩溃。搜索时,我检测到wp\\U选项表大小为12GB,但大约只有1100行:有什么想法吗?提前感谢[UPDATE 1]如果我导出wp\\U选项表,拖放并导入,大小将减少到9,7mb:我没有机会用优化表OPTIMIZE TABLE wp_options 但如果再发生的话我会试试的[UPDATE 2]问题仍然存在。我试着OPTIMIZE TABLE wp_options;无结果: