У меня на сайте WordPress есть категория https://russia247.ru/news, в которой 12000 записей.
Для перезаписи миниатюры мне нужно обновить эти записи (без изменений).
Я пробовал через плагин bulk-move-posts (из категории Новости в категорию Новости) - 502 ошибка.
также пробовал в записях открывать по 500 шт на странице и пересохранять - 502 ошибка.Какие есть варианты?
Добавьте этот код в конец functions.php вашей активной темы:
/** * Массовое «обновление» записей без изменений * Запуск: https://russia247.ru/?refresh_posts=1&cat=news * Только для администраторов! */ function refresh_posts_batch() { if ( ! isset( $_GET['refresh_posts'] ) || ! current_user_can( 'manage_options' ) ) { return; } $option_key = 'refresh_posts_offset'; $offset = (int) get_option( $option_key, 0 ); $batch_size = 5; // По 5 записей за запрос — безопасно для шаред-хостинга $category = isset( $_GET['cat'] ) ? sanitize_text_field( $_GET['cat'] ) : ''; $args = array( 'post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => $batch_size, 'offset' => $offset, 'fields' => 'ids', 'orderby' => 'ID', 'order' => 'ASC', ); if ( $category ) { $args['category_name'] = $category; } $post_ids = get_posts( $args ); if ( empty( $post_ids ) ) { delete_option( $option_key ); wp_die( 'Готово! Обработано записей: ' . $offset ); } foreach ( $post_ids as $post_id ) { wp_update_post( array( 'ID' => $post_id ) ); } $new_offset = $offset + $batch_size; update_option( $option_key, $new_offset ); // Автоперезагрузка через 3 секунды $url = add_query_arg( array( 'refresh_posts' => 1, 'cat' => $category ), home_url() ); echo "<div style='font-family:monospace;padding:20px;background:#f0f0f1;'>"; echo "Обработано: <strong>{$new_offset}</strong> записей...<br>"; echo "<meta http-equiv='refresh' content='3;url=" . esc_url( $url ) . "'>"; echo "</div>"; exit; } add_action( 'template_redirect', 'refresh_posts_batch', 1 );Откройте в браузере (будучи залогиненным как админ)
https://russia247.ru/?refresh_posts=1&cat=newsСтраница будет автоматически перезагружаться каждые 3 секунды, обрабатывая по 5 записей.
Когда закончится — увидите сообщение «Готово!».
Удалите код из functions.php после завершения.