Функция get_admin_url() возвращает полный URL административной панели, что позволяет легко формировать ссылки на страницы администрирования. Эта функция идентична функции admin_url(), но имеет дополнительный параметр $blog_id, что делает её более гибкой в мультисайтовой среде WordPress.
string get_admin_url( int $blog_id = 0, string $path = '', string $scheme = 'admin' )
Параметры
$blog_id(int): Необязательный параметр. Идентификатор сайта в мультисайт-системе. Если не указан, используется текущий сайт. Это позволяет получать URL для админки конкретного блога в мультисайт-системе.$path(string): Необязательный параметр. Дополнительный путь, который будет добавлен к базовому URL административной панели. Полезно для прямого перехода к конкретной странице в админке.$scheme(string): Необязательный параметр. Протокол, который будет использоваться для формирования URL. Можно указать:httphttpsrelative— вернет относительный URL без доменаlogin— протокол страницы авторизацииlogin_postadminrestrpcnull— текущий протокол сайта, определяется функциейis_ssl()
Возвращаемое значение
Функция возвращает строку с полным URL административной панели сайта, основанным на текущих настройках и параметрах.
Пример 1: Получение базового URL административной панели
$admin_url = get_admin_url();
echo $admin_url; // Пример: http://www.example.com/wp-admin/
Этот пример возвращает основной URL административной панели вашего сайта WordPress. Функция автоматически определяет протокол в зависимости от настроек сайта.
Пример 2: Получение URL конкретной страницы администрирования
$admin_url = get_admin_url(null, 'edit-tags.php?taxonomy=category', 'https');
echo $admin_url; // Пример: https://www.example.com/wp-admin/edit-tags.php?taxonomy=category
В этом примере мы формируем URL для страницы редактирования категорий и указываем протокол https. Функция добавляет путь edit-tags.php?taxonomy=category к базовому URL, обеспечивая прямой доступ к нужной странице.
Пример 3: Получение URL административной панели для мультисайта
$url = get_admin_url(2);
echo $url; // Пример: https://www.site2.example.com/wp-admin/
Если ваш сайт работает в мультисайтовой сети, вы можете указать идентификатор сайта, чтобы получить URL административной панели для конкретного блога.
Хуки
Функция get_admin_url() использует внутренние функции и хуки, такие как admin_url, для формирования и возврата URL. Эти хуки обеспечивают гибкость и расширяемость, позволяя изменять или фильтровать возвращаемые значения.
Примечания
- Функция 
get_admin_url()предоставляет возможность более детально настраивать URL административной панели, чем функцияadmin_url(), благодаря параметру$scheme. - Используйте параметр 
$schemeдля определения нужного протокола или получайте относительный URL в зависимости от вашего случая использования. - Если не указать 
$blog_id, функция будет использовать текущий сайт, что упрощает работу в стандартной установке WordPress. 
Заключение
Функция get_admin_url() — это мощный инструмент для создания динамических ссылок на административные страницы вашего сайта WordPress. Она предоставляет гибкость в работе с мультисайтами и позволяет легко адаптировать URL в зависимости от ваших потребностей.