03.05.2024

Почему новая версия плагина Wpgrabber стал парсить статьи в неправильной кодировке

почему новая версия плагина Wpgrabber стал парсить статьи в неправильной кодировке

вот так

   <img src="/wp-content/uploads/2026/05/6325d38ab88c598431f7a87335688db5.png"  /></pre>
<pre>        </div>                     </div>                                         <p>&#1052;&#1072;&#1089;&#1096;&#1090;&#1072;&#1073;&#1080;&#1088;&#1086</pre>
<pre>;&#1074;&#1072;&#108;&#1089;&#1096;&#1090;&#1072;&#1073;&#1080;&#1088;&#1086;&#107</pre>
<pre>4;&#1072;&#108;&#1089;&#1096;&#1090;&#1072;&#1073;&#1080;&#1088;&#1086;&#1074;&#1</pre>
<pre>072;&#108;&#1089;&#1096;&#1090;&#1072;&#1073;&#1080;&#1088;&#1086;&#1074;&#1072;&#108

походу это из-за ИИ обработчиков плагина

я нашел решение только через хук

Если настройки нет, можно принудительно декодировать контент при сохранении:

// Декодирование HTML-сущностей в контенте, импортированном через WPGrabber
add_filter('wp_insert_post_data', function($data, $postarr) {
    // Проверяем, что пост создан через WPGrabber (по мета-полю или источнику)
    if (isset($postarr['post_content']) && strpos($postarr['post_content'], '&#') !== false) {
        $data['post_content'] = html_entity_decode(
            $postarr['post_content'], 
            ENT_QUOTES | ENT_HTML5, 
            'UTF-8'
        );
    }
    return $data;
}, 10, 2);

Можно попробовать, но аккуратно (я не тестил)

Вариант исправить уже импортированные записи
Запустите единовременный скрипт для декодирования существующих постов (добавить - запустить - удалить)
Обязательно сделайте бэкап базы данных перед запуском!

global $wpdb;
$posts = $wpdb->get_results("SELECT ID, post_content FROM {$wpdb->posts} WHERE post_content LIKE '%&#%';");

foreach ($posts as $post) {
    $decoded = html_entity_decode($post->post_content, ENT_QUOTES | ENT_HTML5, 'UTF-8');
    if ($decoded !== $post->post_content) {
        wp_update_post([
            'ID' => $post->ID,
            'post_content' => $decoded
        ]);
    }
}

guest
Закрыть меню