WP-CLI - 难以更新' post_modified'领域

时间:2018-04-10 15:49:29

标签: wordpress wp-cli

WordPress的'命令行工具WP-CLI具有post update命令,用于编辑指定帖子的各个字段。

其中两个标准字段是post_modifiedpost_modified_gmt,(MySQL中的DATETIME字段)。

尽管将它们设置为较早的日期,如下所示,它们始终更新为当前日期,例如

wp post update 123 --post_modified="2017-12-31 23:55:55"

如果我然后使用wp post get或查看实际数据库,两个字段将始终显示错误的时间,即我运行命令的时间而不是预期的指定时间,尽管事实上我相信我已经以所需的格式0000-00-00 00:00:00输入了它。

添加--debug并没有给我任何有用的额外信息。

我错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:0)

这不是Bug,而是Wordpress的工作方式。它不允许您通过用户提供的值来更新post_modified字段。如果您要更新帖子(如您的情况),则无论您通过什么,Wordpress都会自动将其设置为当前时间。 这不特定于wp-cli

下面是Core File中的相关代码

3741        if ( $update || '0000-00-00 00:00:00' == $post_date ) {
3742                    $post_modified     = current_time( 'mysql' );
3743                    $post_modified_gmt = current_time( 'mysql', 1 );
3744            } else {
3745                    $post_modified     = $post_date;
3746                    $post_modified_gmt = $post_date_gmt;
3747            }