在前一个问题中,我需要将未来日期的帖子(自定义帖子类型)设置为在保存时发布,而不是安排它。
在“预定”的日期,我想再次将其设置为草稿。我一直在尝试钩住init并将其包装在if检查post类型中。我认为它将与服务器时间进行比较,如果它早于服务器时间,则将状态设置为draft。
大致概述如下:
if custom post type
get_the_time of post
get the server time
if post time is older than server time set status to draft
endif
在这里,使用我正在使用的一些代码进行更新。function sfn_show_expire(){
global $wpdb;
$server_time = date(\'mdy\');
$result = $wpdb->get_results("SELECT * FROM wp_posts WHERE post_type = \'show\' AND post_status = \'publish\'");
if( !empty($result)) foreach ($result as $a){
$show_time = get_the_time(\'mdy\', $a->ID );
if ( $server_time > $show_time){
$my_post = array();
$my_post[\'ID\'] = $a->ID;
$my_post[\'post_status\'] = \'draft\';
wp_update_post( $my_post );
}
} // end foreach
}
add_action( \'init\', \'sfn_show_expire\' );
它得到了我需要的帖子,给了我服务器时间,但据我所知,它没有做任何事情。