Как массово обновить посты вордпресс?

Мне нужно обновить большое кол-во опубликованных постов на WordPress. Подскажите подойдет для этой задачи такой код:

// Запускаем функцию обновления постов один раз 
add_action( 'wp', 'update_old_posts_once' ); 
function update_old_posts_once() { 
    if ( ! wp_next_scheduled( 'update_old_posts_event' ) ) { 
        wp_schedule_single_event( time() + 900, 'update_old_posts_event' ); 
    } 
} 
 
// Функция обновления постов 
add_action( 'update_old_posts_event', 'update_old_posts' ); 
function update_old_posts() { 
    // Получаем список всех постов, которые были опубликованы более 30 дней назад 
    $old_posts = get_posts( array( 
        'post_type' => 'post', 
        'post_status' => 'publish', 
        'date_query' => array( 
            array( 
                'column' => 'post_date', 
                'before' => '30 days ago' 
            ) 
        ), 
        'posts_per_page' => -1 
    ) ); 
     
    // Обновляем каждый пост с задержкой в 15 минут
    $delay = 900; // 15 минут в секундах
    foreach ( $old_posts as $post ) { 
        $post_id = $post->ID; 
         
        // Создаем массив с новыми значениями полей 
        $updated_post = array( 
            'ID' => $post_id, 
            // Здесь можно указать любые поля, которые нужно обновить 
            // Например: 
            //'post_title' => 'Новый заголовок', 
            //'post_content' => 'Новый текст', 
           //'post_excerpt' => 'Новый отрывок', 
            //'post_category' => array( 2, 4, 6 ) // Новые категории 
        ); 
         
        // Обновляем пост 
        wp_update_post( $updated_post ); 

        // Создаем задержку в 15 минут перед обновлением следующего поста
        sleep( $delay );
    }

Ответы (0 шт):