Имеется кастомный тип записи в котором хранятся 14 записей, (первая неделя с ПН по ВС и вторая неделя с ПН по ВС) у каждой записи есть поле "номер недели" - 1 или 2, а также используя acf создан repeater, который в строке имеет название и 2 числовых поля, первое постоянно меняется, а второе поле - поле к которому нужно привести значение первого поля по расписанию (например, раз в час). Использую wp_cron, получилось что то такое.
$parameters = array(
'post_type_schedule' => 'schedule'
);
if( !wp_next_scheduled( 'hook_update_schedule_everyweek', $parameters ) )
wp_schedule_event( time(), 'user_everyweek', 'hook_update_schedule_everyweek', $parameters );
add_action( 'hook_update_schedule_everyweek', 'update_schedule', 99, 1 );
function update_schedule( $post_type_schedule) {
// здесь получаю 7 из 14 постов где номер недели предыдущий (в данном случае 1)
$prev_week = 1;
$posts_last_week = new WP_Query(array(
'post_type' => 'schedule',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => 'number-week',
'value' => $prev_week
)
)
));
// дальше нужно каким то образом пробежаться по массиву всех строк по всем постам и заменить значение
// взяв из count в той же строке и записать в remain
foreach ($posts_last_week->$posts as $post_i => $post) {
setup_postdata($post);
while (have_rows('schedules', $post->ID)) {
the_row();
$count = get_sub_field('count');
update_sub_field('remain', $count);
}
}
wp_reset_postdata();
}
Использую плагин acf, то ли не разобрался как обновлять поля в репитере, то ли так делать вообще нельзя с помощью его методов. Подскажите как можно это сделать?