如何更改wordpress帖子的修改时间?

时间:2013-07-01 19:29:53

标签: wordpress

我们可以使用ajax来更新我们想要的post_meta。但是,它不会更改帖子的modified_time。

我们依赖于get_modified_time来向用户显示上次更新帖子的时间。 (越新越好)

我已经四处寻找,但我还没有看到有人使用这种技术。

有没有人有答案?

谢谢!

3 个答案:

答案 0 :(得分:4)

要更新帖子,您必须传递值为id的字段数组

$post = array(
    'ID' => 37,
    'post_modified_gmt' => date( 'Y:m:d H:i:s' ),
);
wp_update_post( $post );

答案 1 :(得分:4)

我使用wpdb :: query()来执行此操作:

global $wpdb;

//eg. time one year ago..
$time = time() - DAY_IN_SECONDS * 365;

$mysql_time_format= "Y-m-d H:i:s";

$post_modified = gmdate( $mysql_time_format, $time );

$post_modified_gmt = gmdate( $mysql_time_format, ( $time + get_option( 'gmt_offset' ) * HOUR_IN_SECONDS )  );

$post_id = [the post id];

$wpdb->query("UPDATE $wpdb->posts SET post_modified = '{$post_modified}', post_modified_gmt = '{$post_modified_gmt}'  WHERE ID = {$post_id}" );

注意:如果您想明确设置帖子上的修改日期, ,因为它会调用wp_insert_post(),这决定了帖子存在且sets the post_modified and post_modified variables到当前日期。

答案 2 :(得分:0)

在PHP中非常简单,其中80是邮编:

// update post_modified and post_modified_gmt `datetime` on a post
$update = array( 'ID' => 80 );
wp_update_post( $update );