我想根据自定义字段日期将帖子设置为自动草稿。
注:I am using the plugin Magic Fields.
基于以下代码,我想使用自定义字段“expiration”来给出日期。
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\' );
最终,我希望在cron工作中实现这一点,但目前对代码的任何建议都将是非常好的。
SO网友:kaiser
对于cron作业,请查看Transients API.
其余的可能是通过以下方式实现的。我以前从未使用过瞬态API,代码也没有经过测试。
function set_post_to_draft()
{
global $post;
if ( get_post_meta( $post->ID, \'set_to_draft_key\' ) == true );
return $post->post_status == \'draft\';
}
set_transient( \'post_to_draft_transient\', set_post_to_draft(), 60*60*12 ); // 12h interval