Как удалить или изменить метаданные медиафайлов в WordPress без плагинов

В WordPress медиафайлы хранятся в библиотеке и сопровождаются метаданными, такими как заголовок, описание, альтернативный текст и другие поля. Иногда возникает необходимость массово изменить или удалить эти метаданные, например, для улучшения SEO, очистки базы или изменения данных на лету. В этой статье разберем, как работать с метаданными медиафайлов без использования плагинов, используя собственный код и стандартные функции WordPress.

Что такое метаданные медиафайлов в WordPress и где они хранятся

Медиафайлы в WordPress — это записи типа attachment, которые содержат основную информацию о файле. Сам файл физически хранится в директории wp-content/uploads, а его метаданные — в базе данных в таблицах wp_posts (основные данные) и wp_postmeta (дополнительные метаданные).

Основные метаданные, которые можно изменить вручную в админке или программно, это:

  • post_title — заголовок файла;
  • post_excerpt — описание;
  • post_content — подробное описание;
  • _wp_attachment_image_alt — альтернативный текст для изображений;
  • различные технические данные, хранящиеся как мета-поля, например размеры, типы, EXIF и прочее.

Для массовой работы с этими данными можно использовать WP_Query и функции обновления постов и мета-полей.

Как получить и изменить метаданные медиафайла программно

Для начала нужно получить ID нужного вложения — это может быть сделано через WP_Query или если вы знаете ID, сразу работать с ним. Пример функции для изменения альтернативного текста:

function wpbloger_update_attachment_alt($attachment_id, $new_alt) {
    update_post_meta($attachment_id, '_wp_attachment_image_alt', $new_alt);
}

Эта функция обновит альтернативный текст у выбранного медиафайла.

Чтобы изменить заголовок и описание:

function wpbloger_update_attachment_title_desc($attachment_id, $new_title, $new_description) {
    $post_data = array(
        'ID'           => $attachment_id,
        'post_title'   => $new_title,
        'post_content' => $new_description
    );
    wp_update_post($post_data);
}

Таким образом, можно программно менять любые основные и мета-поля.

Получение списка всех медиафайлов для обработки

Если нужно массово обработать медиафайлы, используйте WP_Query с параметром post_type=attachment. Например:

$args = array(
    'post_type'      => 'attachment',
    'posts_per_page' => -1,
    'post_status'    => 'inherit',
);
$query = new WP_Query($args);
if ($query->have_posts()) {
    while ($query->have_posts()) {
        $query->the_post();
        $attachment_id = get_the_ID();
        // Здесь вызывайте функции обновления метаданных
    }
}
wp_reset_postdata();

С помощью такого цикла можно перебрать все медиафайлы и применить нужные изменения.

Как удалить метаданные медиафайлов

Удаление метаданных полезно, если вы хотите очистить базу от лишней информации. Для удаления пользовательских полей используйте функцию delete_post_meta. Например, удалим альтернативный текст:

function wpbloger_delete_attachment_alt($attachment_id) {
    delete_post_meta($attachment_id, '_wp_attachment_image_alt');
}

Если необходимо удалить сразу несколько ключей мета, можно использовать массив и цикл.

Удаление метаданных EXIF и других технических данных

WordPress автоматически сохраняет в метаданные вложения данные EXIF и размеры изображения в массиве _wp_attachment_metadata. Чтобы изменить или очистить эти данные, нужно получить массив, изменить и обновить:

function wpbloger_clear_attachment_metadata($attachment_id) {
    update_post_meta($attachment_id, '_wp_attachment_metadata', array());
}

Будьте осторожны: очистка этого поля удалит все данные о размерах и ориентации, что может повлиять на отображение изображения.

Пример: массовое удаление альтернативного текста у всех изображений

Практическая задача — удалить alt-текст у всех изображений в библиотеке. Код:

function wpbloger_bulk_delete_all_alt_text() {
    $args = array(
        'post_type'      => 'attachment',
        'post_mime_type' => 'image',
        'posts_per_page' => -1,
        'post_status'    => 'inherit',
    );
    $query = new WP_Query($args);

    if ($query->have_posts()) {
        while ($query->have_posts()) {
            $query->the_post();
            $attachment_id = get_the_ID();
            delete_post_meta($attachment_id, '_wp_attachment_image_alt');
        }
    }
    wp_reset_postdata();
}

// Вызов функции
wpbloger_bulk_delete_all_alt_text();

Этот код можно разместить в functions.php вашей темы или в отдельном плагине. После выполнения все alt-тексты у изображений будут удалены.

Советы по безопасности и резервному копированию

Перед массовыми изменениями метаданных медиафайлов обязательно сделайте резервную копию базы данных. Ошибки в коде или некорректные данные могут привести к потере важных данных и проблемам с отображением медиа. Для резервного копирования можно использовать плагин Clearfy Pro, который поможет сделать бэкап и оптимизировать сайт.

Проверка изменений на тестовом сайте

Перед применением кода на рабочем сайте рекомендуется протестировать изменения на локальном или тестовом сервере. Это позволит избежать сбоев и недоступности сайта.

Заключение

Работа с метаданными медиафайлов в WordPress на уровне кода позволяет гибко и быстро решать задачи по изменению и удалению данных без установки дополнительных плагинов. Используйте WP_Query для поиска вложений и стандартные функции update_post_meta, delete_post_meta, wp_update_post для управления метаданными. Не забывайте про безопасность, тестирование и резервное копирование.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как быстро удалить старые вариации продуктов в WooCommerce без плагинов
09.05.2026
Как изменить метод отправки писем в WordPress: настройка SMTP и альтернативные решения
07.04.2026
Как использовать хуки WordPress для автоматизации задач
05.12.2025
Как удалить типографические ошибки в WordPress автоматически
14.03.2026
Как удалить или изменить метаданные медиафайлов в WordPress без плагинов
05.02.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше