Функция admin_url()
предназначена для получения URL-адреса административной панели WordPress. Она полезна, когда необходимо создать ссылку на админку, учитывая различные параметры, такие как путь до определенной страницы и протокол (http
или https
). Эта функция автоматически подстраивается под использование SSL, если оно включено для админ-панели.
admin_url( string $path = '', string $scheme = 'admin' ): string
Параметры:
$path
(строка, необязательный): Путь относительно административного URL. Можно указать путь до конкретной страницы админки. По умолчанию — пустая строка.$scheme
(строка, необязательный): Протокол, который будет использоваться. Поддерживает следующие значения:'admin'
— используется протокол в зависимости от настроек сайта (автоматически переключает между HTTP и HTTPS).'http'
— принудительно использует HTTP.'https'
— принудительно использует HTTPS.'relative'
— возвращает относительный URL (без домена).
Возвращаемое значение:
string
— URL-адрес административной панели с добавленным путём, если указан.
Пример 1: Получение URL административной панели
Простейший способ вызова функции — без указания дополнительных параметров. Это вернёт основной URL админ-панели сайта.
<?php
echo admin_url();
?>
Вывод:
http://example.com/wp-admin/
Либо, если SSL активен:
https://example.com/wp-admin/
Пример 2: URL для страницы «Категории» с принудительным использованием HTTPS
Если необходимо получить URL для конкретной страницы в админке, например, для страницы категорий, можно указать путь до страницы и протокол.
<?php
echo admin_url( 'edit-tags.php?taxonomy=category', 'https' );
?>
Вывод:
https://example.com/wp-admin/edit-tags.php?taxonomy=category
Пример 3: Ссылка на редактирование записи по ID
Предположим, вам нужно получить ссылку для редактирования конкретного поста в админ-панели. Используйте функцию add_query_arg()
для добавления параметров к URL.
<?php
$post_id = 1234; // ID записи
$post_url = add_query_arg( array(
'post' => $post_id,
'action' => 'edit',
), admin_url( 'post.php' ) );
echo $post_url;
?>
Вывод:
http://example.com/wp-admin/post.php?post=1234&action=edit
Пример 4: Использование относительного пути
Если необходимо получить относительный URL без домена, можно использовать параметр 'relative'
для $scheme
.
<?php
echo admin_url( 'options-general.php', 'relative' );
?>
Вывод:
/wp-admin/options-general.php
Пример 5: Ссылка на страницу настроек с указанием протокола HTTP
Чтобы сгенерировать ссылку на определённую страницу административной панели с принудительным использованием HTTP, укажите нужный протокол в параметре $scheme
.
<?php
echo admin_url( 'options-general.php', 'http' );
?>
Вывод:
http://example.com/wp-admin/options-general.php
Заключение
Функция admin_url()
— это удобный инструмент для работы с административными ссылками в WordPress. Она не только автоматически адаптируется к использованию SSL, но и позволяет легко генерировать ссылки на конкретные страницы панели администрирования. Благодаря поддержке относительных путей и возможности указания протокола, эта функция даёт гибкость в создании URL для различных нужд в админке сайта.