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; } У Запоріжжі триває ліквідація наслідків атаки: змонтовано два тимчасові дахи і закрито вибиті вікна у 27 будинках – Rupor.zp.ua
Site icon Rupor.zp.ua

У Запоріжжі триває ліквідація наслідків атаки: змонтовано два тимчасові дахи і закрито вибиті вікна у 27 будинках

26 березня у Запоріжжі продовжуються першочергові роботи з ліквідації наслідків атаки по місту у вівторок.

Комунальники завершили роботи з закриття вибитих вікон у восьми приватних будинках, а також у 19 багатоповерхівках. Тимчасові покрівлі змонтували на двох приватних будинках. Для самостійного ремонту власникам пошкоджених осель видали п’ять рулонів плівки, 40 рейок і 13 листів шиферу, повідомили у мерії Запоріжжя.

У результаті атаки на Запоріжжя 24 березня зазнали пошкоджень 49 багатоповерхівок, а також 27 приватних будинків. Суттєвих руйнувань зазнали по одній багатоповерхівці і приватному будинку.

Раніше 061 повідомляв, що у Запорізькому районі у результаті атаки БПЛА по магазину отримала поранення 63-річна жінка.

Джерело: 061.ua

Exit mobile version