Какой запрос SQL очистит базу сайта на WordPress?

Ссылка скопирована
1 ответ

Есть сайт на Wordpress. В изображениях, которые находятся во вложениях CMS сама заполнила атрибуты title изображениям в виде qbah и латиницы. Необходимо очистить все атрибуты title изображений на сайте, чтобы потом с помощью шаблона записать их заново.

Таблица, где лежат изображения - wpaq8a_posts. Столбец, где они находятся - post_title. Столбец, который указывает, что в этой строке информация по изображению, а не посту - post-mime-type. В этом столбце значение image/jpeg указывает на изображение.

Каким SQL запросом можно очистить все атрибуты title изображений, не затрагивая посты?

Дополнительно:

Обычно когда ставят задачи на SQL - то пишут как "было" и как "должно стать" после примененеия запроса.

Приведи пример.

  • Сейчас во всех изображениях Wordpress автоматом поставил атрибут title какой он посчитал нужным. Задача - очистить все атрибуты title в изображениях.
  • Какой запрос SQL очистит базу сайта на Wordpress?

    Очистка title у изображений из колонки post_title:

    UPDATE wpaq8a_posts SET post_title = '' WHERE post_mime_type = 'image/jpeg';

    UPDATE wpaq8a_posts SET post_title = '' WHERE post_mime_type = 'image/jpeg';

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Павел Админов Ответ

    Перед любым SQL-запросом сделайте бэкап базы. В WordPress вложения — это записи в таблице wp_posts с типом attachment. MIME-тип хранится в колонке post_mime_type, а не post-mime-type. Если нужно очистить title только у изображений, фильтровать лучше по post_type и post_mime_type.

    Запрос для проверки, что будет затронуто:

    SELECT ID, post_title, post_mime_type
    FROM wpaq8a_posts
    WHERE post_type = 'attachment'
      AND post_mime_type LIKE 'image/%';

    SELECT ID, post_title, post_mime_type FROM wpaq8a_posts WHERE post_type = 'attachment' AND post_mime_type LIKE 'image/%';

    Если выборка правильная, можно очистить заголовки:

    UPDATE wpaq8a_posts
    SET post_title = ''
    WHERE post_type = 'attachment'
      AND post_mime_type LIKE 'image/%';

    UPDATE wpaq8a_posts SET post_title = '' WHERE post_type = 'attachment' AND post_mime_type LIKE 'image/%';

    Но я бы не оставлял post_title пустым у всех изображений. В админке медиабиблиотеки будет неудобно работать, а часть тем/плагинов может использовать title как fallback. Более аккуратный вариант — заполнить title из имени файла или alt. Например, сначала проверить post_name, потом уже обновлять.

    Если задача именно SEO и вы хотите заново сгенерировать атрибуты, лучше работать с alt: он хранится в wp_postmeta с ключом _wp_attachment_image_alt. Title изображения и alt — разные вещи. Не очищайте всё подряд, пока не понятно, что именно выводится в шаблоне: HTML-атрибут title, подпись, alt или заголовок вложения.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно