Если вы столкнулись с проблемой, когда в ваших постах WordPress повсюду встречаются неразрывные пробелы
вместо обычных пробелов, то знаете, насколько это может раздражать. Особенно это актуально при миграции контента, импорте из других CMS или после работы с плохо настроенными редакторами.
В этой статье покажу, как быстро и эффективно очистить все посты от этих назойливых символов с помощью одного SQL-запроса.
Что такое и откуда он берется?
— это HTML-сущность неразрывного пробела (non-breaking space). Он предотвращает перенос строки в месте пробела, что иногда полезно, но чаще всего появляется там, где не нужен:
- При копировании контента из Microsoft Word
- После импорта из других CMS
- При работе с некоторыми визуальными редакторами
- После автоматического перевода или обработки текста
Простое решение одним запросом
Самый быстрый способ избавиться от всех
в базе данных WordPress:
UPDATE wp_posts
SET post_content = REPLACE(post_content, ' ', ' ')
WHERE post_content LIKE '% %';
Этот запрос:
- Находит все записи, содержащие
- Заменяет их на обычные пробелы
- Обрабатывает все типы контента (посты, страницы, кастомные типы)
Ограничиваем область действия
Если нужно обработать только определенные типы контента:
Только опубликованные посты:
UPDATE wp_posts
SET post_content = REPLACE(post_content, ' ', ' ')
WHERE post_content LIKE '% %'
AND post_status = 'publish'
AND post_type = 'post';
Только страницы:
UPDATE wp_posts
SET post_content = REPLACE(post_content, ' ', ' ')
WHERE post_content LIKE '% %'
AND post_type = 'page';
Обязательные меры предосторожности
Создайте резервную копию! Перед выполнением любых UPDATE-запросов.