Высоков.ру

Как найти в блоге WordPress все посты БЕЗ картинок

sql query not like

Вот, возникла такая задача: нужно в блоге найти все посты, в тексте которых не размещены картинки. Попробую найти все статьи сайта без изображений с помощью всё того же SQL-запроса к базе данных WordPress.

В подборке полезных SQL-запросов, которые использую время от времени, и собрал в отдельный пост применялся «противоположный» оператор запроса LIKE, который помогал найти записи с определенными словами символами и так далее. Правда, в том примере статьи не выбирались (SELECT), а сразу удалялись (DELETE).

Чтобы найти записи WordPress, в которых НЕ встречается какое-то слово, можно использовать SQL-оператор NOT LIKE.

Меня интересуют посты, в которых не используется HTML-код вывода изображений, например, с IMG или SRC. Обычный и самый простой код картинки: <img src=адрес>

sql query not like (4)

К сожалению, плагины с возможностью отправки SQL-запросов прямо в админке, типа WP-DBManager, не выполняют «выборки», поэтому придется идти в pHpMyAdmin в панели хостинга.

В верхнем меню выбираем “SQL” и создаем запрос такого вида:

SELECT * FROM wp_posts WHERE post_content NOT LIKE '%img%' AND post_content NOT LIKE '%src%'

Например, у меня на одном сайте нашлось по такому запросу более 6600 записей.

sql query not like (1)

Но здесь есть разные черновики, авторецензии, какие-то служебные страницы, наверное, и еще много чего. Поэтому добавлю еще одно условие: пост должен быть опубликован (статус PUBLISH).

SELECT * FROM wp_posts WHERE post_content NOT LIKE '%img%' AND post_content NOT LIKE '%src%' AND post_status='publish'

И вот уже выборочка стала в десять раз меньше.

sql query not like (2)

Сейчас уже не буду дальше заниматься этим. Но если увижу что-то ценное в процессе дальнейших поисков – обязательно добавлю в этот пост.

Комментировать