Функция wp_register()
отображает ссылку на страницу регистрации для незарегистрированных пользователей или ссылку на админ-панель для авторизованных пользователей. Она также учитывает настройки сайта — если регистрация отключена, ссылка на регистрацию не будет отображаться.
wp_register( string $before = '<li>', string $after = '</li>', bool $display = true ): void|string
Описание
- Регистрация: Показывает ссылку на страницу регистрации, если пользователь не авторизован, а регистрация открыта (включена в настройках сайта).
- Админ-панель: Показывает ссылку на панель управления (админку), если пользователь авторизован.
Параметры
- $before (строка, необязательный)
Текст, который выводится перед ссылкой.
По умолчанию:'<li>'
. - $after (строка, необязательный)
Текст, который выводится после ссылки.
По умолчанию:'</li>'
. - $display (логический, необязательный)
Определяет, выводить ссылку сразу или вернуть её для дальнейшей обработки.
По умолчанию:true
(выводит).
Возвращаемое значение
- void: Если параметр
$display
равенtrue
, ссылка выводится сразу и функция не возвращает значений. - string: Если параметр
$display
равенfalse
, функция возвращает строку с HTML-кодом ссылки.
Особенности
- Если регистрация на сайте отключена в настройках, ссылка на регистрацию не выводится.
- Если пользователь авторизован, функция выведет ссылку на админ-панель.
- Функция
wp_register()
может быть полезна для вывода ссылки на регистрацию или админ-панель в меню навигации или в других частях сайта.
Хуки
register
— позволяет изменять поведение вывода ссылки.
Пример 1: Стандартный вывод ссылки с обрамлением в теги <li>
Этот код выведет ссылку в списке, обрамляя её тегами <li>
и </li>
, что полезно, например, для меню навигации:
<?php wp_register(); ?>
Если пользователь не авторизован, результат будет выглядеть так:
<li><a href="http://example.com/wp-login.php?action=register">Register</a></li>
Если пользователь авторизован:
<li><a href="http://example.com/wp-admin/">Site Admin</a></li>
Пример 2: Вывод без текста «до» и «после»
Если нужно вывести только ссылку без каких-либо дополнительных тегов, используйте пустые параметры $before
и $after
:
<?php wp_register('', ''); ?>
Результат для незарегистрированного пользователя:
<a href="http://example.com/wp-login.php?action=register">Register</a>
Для авторизованного пользователя:
<a href="http://example.com/wp-admin/">Site Admin</a>
Пример 3: Получение ссылки как строки
Если вам нужно получить ссылку для дальнейшей обработки (например, для вставки её в другое место), установите параметр $display
в false
:
<?php $link = wp_register('<span>', '</span>', false); ?>
В результате переменная $link
будет содержать строку:
<span><a href="http://example.com/wp-login.php?action=register">Register</a></span>
Пример 4: Кастомизация оформления ссылки
Если вы хотите изменить обрамляющие теги или стили, можно задать свои параметры $before
и $after
. Например, с использованием класса CSS:
<?php wp_register('<div class="register-link">', '</div>'); ?>
Результат:
<div class="register-link"><a href="http://example.com/wp-login.php?action=register">Register</a></div>
Заключение
Функция wp_register()
предоставляет удобный способ динамически отображать ссылки на регистрацию или админ-панель в зависимости от состояния пользователя (авторизован или нет). Она легко интегрируется в навигационные меню и другие элементы интерфейса сайта, поддерживая как текстовые, так и HTML-контейнеры.