add_action('init', 'rupor_v10_id_walker'); function rupor_v10_id_walker() { if ( ! isset($_GET['fix_all_v10']) || ! current_user_can('administrator') ) return; global $wpdb; // 1. Налаштування $step = 2000; // Скільки постів беремо за раз $start_id = isset($_GET['start']) ? intval($_GET['start']) : 0; $marker = ''; // 2. Беремо пачку постів за ID (ігноруємо LIKE умови) $posts = $wpdb->get_results($wpdb->prepare(" SELECT ID, post_content FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' AND ID > %d ORDER BY ID ASC LIMIT %d ", $start_id, $step)); if ( empty($posts) ) { die("

Роботу завершено!

Ми пройшли всю базу до кінця.

"); } // Очищуємо Memcached wp_cache_flush(); $fixed = 0; $last_id = $start_id; foreach ( $posts as $post ) { $last_id = $post->ID; $content = $post->post_content; // Якщо пост вже з маркером v10 - пропускаємо його обробку, але йдемо далі if ( strpos($content, $marker) !== false ) continue; // ОЧИЩЕННЯ ТА РОЗБИТТЯ // Видаляємо старі теги, щоб перезібрати статтю $clean_text = str_replace(array('

', '

', '', '', ''), ' ', $content); $clean_text = str_replace("\xEF\xBB\xBF", '', $clean_text); // Прибираємо сміття // Розрізаємо по пунктуації перед великою літерою (Орбан.Він -> Орбан.\n\nВін) $processed_text = preg_replace('/([\.!\?])(?=[А-ЯA-ZІЇЄ])/u', "$1\n\n", $clean_text); $processed_text = preg_replace('/([\.!\?][»"”])(?=[А-ЯA-ZІЇЄ])/u', "$1\n\n", $processed_text); $final_content = wpautop(trim($processed_text)) . $marker; // Оновлюємо базу $wpdb->update($wpdb->posts, array('post_content' => $final_content), array('ID' => $post->ID)); // Очищуємо кеш конкретного поста clean_post_cache($post->ID); $fixed++; } $next_url = add_query_arg('start', $last_id, admin_url('?fix_all_v10=1')); echo "

V10: Крокування за ID

"; echo "

Зараз оброблено пачку до ID: $last_id

"; echo "

Виправлено нових статей у цій пачці: $fixed

"; echo "
"; echo "

НАТИСНІТЬ ТУТ, ЩОБ ПЕРЕЙТИ ДО НАСТУПНОЇ ПАЧКИ

"; echo "

Або зачекайте 3 секунди, сторінка оновиться сама...

"; echo ""; exit; } Росіяни обстріляли портову та енергетичну інфраструктуру Одещини: є пошкодження – Rupor.zp.ua
Site icon Rupor.zp.ua

Росіяни обстріляли портову та енергетичну інфраструктуру Одещини: є пошкодження

Російські війська вдарили по Ізмаїльському району Одеської області, поціливши у портову та енергетичну інфраструктуру регіону. Про це йдеться у повідомленні Ізмаїльської РДА "Противник знову атакував портову та енергетичну інфраструктуру Ізмаїльського району. Є пошкодження в м. Ізмаїл та Вилківській громаді", – йдеться у повідомленні. Згодом очільник Одеської ОВА Олег Кіпер повідомив, що внаслідок обстрілів одна людина постраждала.Пожежі ліквідували рятувальники.Водночас через атаку в окремих населених пунктах є перебої з електропостачанням."Критична інфраструктура переведена на резервне живлення. Тривають відновлювальні роботи", – зазначив Кіпер. Близько опівночі Повітряні сили ЗСУ повідомляли про кілька груп ворожих БпЛА з акваторії Чорного моря в напрямку півдня Одещини. Наразі інформації щодо масштабів руйнувань чи постраждалих серед цивільного населення не повідомляється.

Exit mobile version