几天后,我不得不将一个类别中已发布的帖子更改为另一个类别。我已经为函数创建了以下代码,并将其添加到函数中。子主题中的php文件。但是,我不知道错误是什么。下面的数据显示了基于循环计算的post列表。唯一缺少的函数是wp\\u set\\u object\\u terms。请帮我解决这个问题。
function set_expired_job_categories() {
$current_time = time();// define timestamp
// Set our query arguments
$args = array(
\'fields\' => \'ids\', // Only get post ID\'s to improve performance
\'post_type\' => \'job\', // Post type
\'post_status\' => \'publish\',
\'posts_per_page\' => 10,
\'tax_query\' => array(
\'taxonomy\' => \'current-status\',
\'field\' => \'slug\',
\'terms\' => array( \'ongoing\' ),
),
);
$q = new WP_Query( $args ); //new wp_query
// Check if we have posts, if not, return false
if ( !$q )
return false;
// standard WP_query
if( $q->have_posts() ){
while( $q->have_posts() ){
$q->the_post();
//deadline_date saved as timestamp
$expire_timestamp = rwmb_meta( \'deadline_date\' );
if ( $expire_timestamp ) {
$seconds_between = ( (int)$expire_timestamp - (int)$current_time );
if ( $seconds_between >= 0 ) {
}else {
wp_set_object_terms( $post->ID, array ( 368 ), \'current-status\', true );
wp_remove_object_terms( $post->ID, array ( 367 ), \'current-status\' );
}
}
}
}
wp_reset_postdata();
}
// hook fires when the Cron is executed
add_action( \'set_job_categories\', \'set_expired_job_categories\' );
// Add function to register event to wp
add_action( \'wp\', \'register_daily_events_job_expiration\');
function register_daily_events_job_expiration() {
// Make sure this event hasn\'t been scheduled
if( !wp_next_scheduled( \'set_job_categories\' ) ) {
// Schedule the event
wp_schedule_event( time(), \'hourly\', \'set_job_categories\' );
}
}
我修改如下$taxonomy = \'current-status\';
$job_expired_id = 368;
$job_ongoing_id = 367;
$postid = get_the_ID();
wp_set_object_terms( $postid, (int)$job_expired_id, $taxonomy, true );
wp_remove_object_terms( $postid, (int)$job_ongoing_id, $taxonomy );
对于这一点,也没有结果。