我在项目中有以下代码,该代码在升级到Wordpress 5之前可以正常工作,它的作用是在保存帖子和选中复选框(vb_modified_date_switch)时将旧值保留在post_modified和post_modified_gmt字段中在帖子编辑器中。
function vb_post_modified_date_update($data, $postarr) {
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
return;
if (!empty($postarr['vb_modified_date_switch'])) {
$data['post_modified'] = $postarr['post_modified'];
$data['post_modified_gmt'] = $postarr['post_modified_gmt'];
}
return $data;
}
add_filter( 'wp_insert_post_data', 'vb_post_modified_date_update', '99', 2 );
根据wp_insert_post_data的文档,$ data应该具有发布数据,而$ postarr应该具有未修改的发布数据。但是,在调试时,我发现两个变量都具有相同的发布数据(修改后的数据),所以现在我无法获取原始的post_modified和post_modified_gmt。
还有其他方法可以更改保存之前的帖子数据吗?有更新的文档吗?
谢谢