Как изменить URL для страниц библиотеки медиа WordPress

По умолчанию WordPress использует стандартные URL для страниц медиа-библиотеки, такие как wp-admin/upload.php для списка файлов и wp-admin/post.php?post=ID&action=edit для редактирования вложений. В некоторых случаях возникает необходимость изменить эти URL — например, для улучшения безопасности, создания более дружелюбных ссылок или интеграции с кастомными интерфейсами.

Почему стоит менять URL медиа-библиотеки WordPress

Изменение URL страниц библиотеки медиа может пригодиться в следующих сценариях:

  • Повышение безопасности: изменение стандартных URL усложняет задачу злоумышленникам, пытающимся получить доступ к медиа-файлам или административной части.
  • Улучшение пользовательского опыта: если вы создаёте собственный UI для управления медиа, кастомные URL помогут интегрировать его с другими разделами сайта.
  • Оптимизация SEO и удобства навигации: можно сделать ссылки более понятными и запоминающимися.

Однако важно помнить, что медиа-библиотека тесно связана с ядром WordPress, и изменения URL требуют аккуратного подхода, чтобы не сломать функционал.

Как изменить URL страниц библиотеки медиа с помощью хуков WordPress

WordPress позволяет изменять поведение URL через фильтры и хуки. Для изменения URL медиа-библиотеки нам нужно переопределить ссылки в административном меню и обработать перенаправления.

Шаг 1. Изменение ссылок в меню админки

Используем хук admin_menu с функцией remove_menu_page и add_menu_page для замены стандартной страницы «Медиафайлы» на новую с кастомным URL.

function wpkey_change_media_menu_url() {
    // Удаляем стандартный пункт меню "Медиафайлы"
    remove_menu_page('upload.php');

    // Добавляем пункт с новым слагом
    add_menu_page(
        'Медиафайлы', // Заголовок страницы
        'Медиафайлы', // Название в меню
        'upload_files', // Возможность
        'wpkey-media-library', // Новый слаг
        'wpkey_render_custom_media_page', // Функция вывода
        'dashicons-media-document', // Иконка
        10
    );
}
add_action('admin_menu', 'wpkey_change_media_menu_url');

Функция wpkey_render_custom_media_page будет отвечать за вывод содержимого страницы медиа-библиотеки.

Шаг 2. Вывод стандартной медиа-библиотеки на новой странице

Для вывода стандартной библиотеки можно использовать функцию wp_media_upload_form() или подключить стандартные скрипты и шаблоны. Но проще — сделать редирект на оригинальную страницу внутри нашей функции:

function wpkey_render_custom_media_page() {
    wp_redirect(admin_url('upload.php'));
    exit;
}

Однако такой подход возвращает нас к исходным URL, что не решает задачу переопределения URL. Более продвинутый способ — использовать add_rewrite_rule и создавать собственные маршруты.

Использование add_rewrite_rule для создания пользовательских URL медиа

Можно добавить правило перезаписи URL, чтобы обрабатывать запросы к пользовательским URL и отдавать содержимое медиа-библиотеки.

function wpkey_custom_media_rewrite_rule() {
    add_rewrite_rule('^my-media-library/?$', 'wp-admin/upload.php', 'top');
}
add_action('init', 'wpkey_custom_media_rewrite_rule');

После добавления правила нужно обновить настройки постоянных ссылок в админке (Настройки > Постоянные ссылки), чтобы правило вступило в силу.

Теперь при переходе на https://example.com/my-media-library вы попадёте на стандартную страницу медиа-библиотеки. Но главное — URL изменён.

Как изменить URL отдельных медиа-вложений (attachment pages)

Страницы вложений (attachment pages) имеют URL вида https://example.com/attachment-slug/. Чтобы изменить структуру этих URL, можно использовать фильтр post_type_link.

function wpkey_custom_attachment_link($link, $post) {
    if ($post->post_type === 'attachment') {
        $slug = 'media-file'; // Новый сегмент URL
        $link = home_url('/' . $slug . '/' . $post->post_name . '/');
    }
    return $link;
}
add_filter('post_type_link', 'wpkey_custom_attachment_link', 10, 2);

Кроме того, нужно добавить правило перезаписи для новых URL страниц вложений:

function wpkey_custom_attachment_rewrite() {
    add_rewrite_rule('^media-file/([^/]+)/?$', 'index.php?attachment=$matches[1]', 'top');
}
add_action('init', 'wpkey_custom_attachment_rewrite');

Не забудьте обновить постоянные ссылки для активации новых правил.

Плагины для управления URL медиа и безопасности

Если вы не хотите писать код вручную, есть несколько плагинов, которые могут помочь:

  • Clearfy Pro — оптимизация и безопасность, в том числе управление URL и доступом к медиа.
  • WPRemark — модификация поведения сайта, включая работу с URL.

Эти инструменты позволяют гибко управлять URL без ручного кода.

Выводы и рекомендации

Изменение URL страниц медиа-библиотеки WordPress — задача нетривиальная, требующая понимания работы административного интерфейса и системы перезаписи URL. Рекомендуется:

  • Использовать add_rewrite_rule для создания пользовательских маршрутов.
  • Использовать фильтр post_type_link для изменения URL вложений.
  • Обновлять настройки постоянных ссылок после изменений.
  • Проверять совместимость с плагинами и темами.
  • Рассматривать использование готовых плагинов для упрощения задачи.

Такой подход позволит вам получить красивые и удобные URL для медиа и повысить безопасность вашего сайта.

WooCommerce: автоматическое изменение статуса заказа при отмене оплаты
31.05.2026
Как создать автоматический бэкап WordPress без плагинов
28.12.2025
Как кастомизировать страницу входа в WordPress без плагинов
19.01.2026
WooCommerce: как автоматически отключать неиспользуемые способы оплаты
23.05.2026
WooCommerce: установка и настройка подтверждения заказа с помощью Webhook
27.04.2026

Ресурс в разработке, скоро здесь будет сайт по вордпресс