skillbox banner 468x60skillbox banner 728x90skillbox banner 930x180flexbe banner 468x60flexbe banner 728x90flexbe banner 930x180kwork banner 468x60kwork banner 728x90kwork banner 930x180

WordPress как вывести форму регистрации/авторизации в произвольном месте на сайте?

Для вывода формы регистрации или авторизации в произвольном месте WordPress, можно использовать шорткоды, виджеты или прямо встроить код в файлы темы. Вот несколько способов:

1. Использование плагина

Самый простой способ – воспользоваться плагином, например, User Registration, WPForms, или Theme My Login. Эти плагины предлагают шорткоды, которые можно вставить в нужное место на сайте.

[theme-my-login]

2. Вывод формы через встроенные функции WordPress

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

Авторизация

Вывести форму авторизации можно с помощью функции wp_login_form():

<?php
wp_login_form(array(
    'redirect' => home_url(), // URL, куда перенаправлять после авторизации
));
?>

Пример шорткода:

function custom_login_form_shortcode() {
    ob_start();
    wp_login_form(array(
        'redirect' => home_url(),
    ));
    return ob_get_clean();
}
add_shortcode('custom_login_form', 'custom_login_form_shortcode');

Вставьте [custom_login_form] в текстовый редактор WordPress.

Регистрация

Для формы регистрации используйте:

<?php
echo '<form method="post" action="' . esc_url(site_url('wp-login.php?action=register', 'login_post')) . '">';
echo '<p><label for="user_login">Имя пользователя</label><br>';
echo '<input type="text" name="user_login" id="user_login"></p>';
echo '<p><label for="user_email">Email</label><br>';
echo '<input type="email" name="user_email" id="user_email"></p>';
echo '<p><input type="submit" value="Зарегистрироваться"></p>';
echo '</form>';
?>

3. Добавление в нужное место через PHP-код

Если требуется вывод в шаблоне темы, добавьте соответствующий код в файл (например, header.php, page.php или sidebar.php):

<?php if (!is_user_logged_in()): ?>
    <div class="custom-login-form">
        <?php wp_login_form(); ?>
    </div>
<?php endif; ?>

4. Использование виджетов

Если место в теме поддерживает виджеты, можно добавить «Meta» виджет, но он включает много лишнего. Для кастомного вывода лучше использовать шорткод (см. выше) через текстовый виджет.

5. Кастомизация форм

Обе формы можно стилизовать с помощью CSS или переопределить стандартные шаблоны.

Пример стиля для wp_login_form:

.custom-login-form form {
    max-width: 300px;
    margin: 0 auto;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 5px;
    background-color: #f9f9f9;
}
.custom-login-form input {
    width: 100%;
    margin-bottom: 10px;
    padding: 10px;
}

Выберите метод, который подходит вашему проекту, и настройте под ваши требования!

flexbe banner 480x320flexbe banner 728x90flexbe banner 120x600beget banner 480x320beget banner 728x90beget banner 120x600etxt banner 480x320etxt banner 728x90etxt banner 120x600

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.

Похожие посты

Как из стандартного типа записи post удалить «uncategorized» из ссылки в WordPress?

При создании записей в WordPress без указания категории по умолчанию им присваивается категория «Без рубрики» («Uncategorized»). Это приводит к появлению лишней части ссылки, например: https://example.com/bez-rubriki/nazvanie-zapisi. Если вы хотите убрать «bez-rubriki» из URL, то вам потребуется немного модифицировать настройки и добавить пользовательский код. В этой статье я покажу, как это сделать и избежать ошибок 404. Шаг…
Подробнее

Как на WordPress сделать архивную страницу со всеми авторами и структуру ссылок домен/authors/author

Чтобы сделать архивную страницу в WordPress, которая перечисляет всех авторов и предоставляет доступ к их страницам профилей через структуру ссылок вида домен/authors/author, нужно выполнить следующие шаги: 1. Создание пользовательской страницы для архива авторов Создайте файл шаблона: В вашей активной теме создайте файл page-authors.php. Это будет специальная страница, отображающая список всех авторов. Добавьте код для вывода…
Подробнее

Как сделать функцию для редиректа со старых ссылок сайта на новые в WordPress?

Для создания функции редиректа в WordPress со старых ссылок на новые, можно использовать файл .htaccess или написать специальный код в functions.php темы. Рассмотрим оба варианта: 1. Редирект через .htaccess Если вам нужно выполнить редиректы для множества старых URL, проще всего это сделать через файл .htaccess в корне вашего сайта. Для этого откройте или создайте файл…
Подробнее