Переместить запись из кастомного типа поста в др. рубрику при наступлении условия (wordpress)

Рейтинг: 1Ответов: 0Опубликовано: 23.02.2023

Есть кастомный тип постов "Мероприятия". В нем две рубрики: ближайшие и архивные. Понятно, что при создании все события попадают в ближайшие. А как сделать так, чтобы после прошествия дня события, оно автоматически меняло рубрику, а не админ вручную переставлял привязку. С помощью acf7 создано кастомное поле даты. И есть следующий код:

function update_event_taxonomy() {
$today = date('Y-m-d');
$args = array(
    'post_type' => 'events',
    'posts_per_page' => -1,
    'meta_query' => array(
        array(
            'key' => 'event_date',
            'value' => $today,
            'compare' => '<',
            'type' => 'DATE',
        ),
    ),
);
$event_posts = get_posts($args);

foreach ($event_posts as $event_post) {
    $event_date = get_field('event_date', $event_post->ID);
    $event_tax = ($event_date < $today) ? 'archive' : 'upcoming';
    wp_set_post_terms($event_post->ID, $event_tax, 'events_category', false);
}

}

function schedule_event_taxonomy_update() {
if (!wp_next_scheduled('update_event_taxonomy')) {
    wp_schedule_event(time(), 'hourly', 'update_event_taxonomy');
}

}

add_action('wp', 'schedule_event_taxonomy_update');

Однако при его выполнении, с тех событий, которые подпадают под условие чекбоксы с "ближайшие мероприятия" снимаются и к архивным они не привязываются, чекбокс не проставляется.

Где ошибка или как это правильно/лучше сделать?

Ответы

Ответов пока нет.