你好@user2271:
我最近不得不解决一个事件自定义帖子类型的问题,我无法让WordPress让我保存未来的日期。我不想像你的那么复杂,但下面的代码解决了我的问题,也许你可以用它来解决你的问题:
add_action(\'admin_init\', \'yoursite_admin_init\');
static function yoursite_admin_init() {
global $pagenow;
if ($pagenow==\'post.php\' && isset($_POST[\'post_date\'])) {
$_POST[\'event_date\'] = date(\'Y-m-d H:i:s\',strtotime($_POST[\'post_date\']));
}
}
add_filter(\'wp_insert_post_data\', \'yoursite_wp_insert_post_data\',10,2);
static function yoursite_wp_insert_post_data($data,$postarr) {
global $pagenow;
if ($data[\'post_type\']==\'event\') {
// Saving an event, \'event_date\' grabbed in admin_init
if ($pagenow==\'post.php\' && isset($postarr[\'event_date\'])) {
$data[\'post_date\'] = $data[\'post_date_gmt\'] = $postarr[\'event_date\'];
}
}
return $data;
}
WordPress基本上是将博客帖子逻辑应用于所有帖子,事件应该遵循不同的逻辑。我发布的代码在
\'admin_init\'
钩子,然后在
\'wp_insert_post_data\'
WordPress“修复”每个博客帖子的日期逻辑后的挂钩。
我认为,了解这个问题将有助于您确定如何根据更复杂的工作流进行修复?
希望这是heps。