我正在尝试编写一个函数,由cron计划在每晚午夜运行,该函数将从自定义字段的整数值中减去1。它将基本上起到30天倒计时的作用。
问题是,它不起作用,我撞到墙了/我被难住了。自定义字段的值,wpcf-engine-days-to-go
字段保持默认值30。我已经更新了代码并尝试使用WP_Query
而不是get_posts()
.
add_action( \'engineCronHook\', \'engineDaysToGoCountdown\' );
if( !wp_next_scheduled( \'engineCronHook\' ) ) {
wp_schedule_event( time(), \'daily\', \'engineCronHook\' );
}
// Countdown function
function engineDaysToGoCountdown(){
// Set the post args
$args = array(
\'post_type\' => \'engine\',
\'posts_per_page\' => -1,
\'post_status\' => \'publish\'
);
//Create enginePosts object
$enginePosts = new WP_Query($args);
if($enginePosts->have_posts()){
while ( $enginePosts->have_posts()) {
$engine->the_post();
// This is the part that I\'d like to rule-out
$daysLeft = genesis_get_custom_field(\'wpcf-engine-days-to-go\');
/* And this section below too. I\'m not sure if the cron job isn\'t firing, but the database isn\'t updated. The form creates a post with \'30\' as the default value of the custom field, and when I run the cron job, it remains 30 in the database */
update_post_meta(the_id(),\'wcf-engine-days-to-go\',--$daysLeft);
}
}
}