Блог о программировании, электронике и рыбалке

Делаем форму авторизации в WordPress

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

Существует несколько плагинов, которые позволяют добавить в сайдбар поля ввода логина и пароля пользователя. Я не буду их описывать в этом посте, так как считаю, что не стоит юзать плагины и тем самым увеличивать количество запросов к базе, если все можно сделать ручками.

На самом деле все просто. Я рассмотрю пример, который создаст в верхней части вашего блога мне необходимые поля.  Добавляем в footer.php вашей темы этот код:

<?php if (!current_user_can('level_0')) { ?>

<script type="text/javascript">
function login_clear() {
var log = document.getElementById('log');
if (log.value == "Логин"){ log.value = "";}
}
function pwd_clear() {
var pwd = document.getElementById('pwd');
if (pwd.value == "Пароль"){ pwd.value = "";}
}
</script>

<div class="loginlabel" align="center">
<table width="885" border="0" cellspacing="0" cellpadding="7">
<tr>
<td align="left" bgcolor="#cccccc" height="30">

<form action="<?php echo get_option('home'); ?>/wp-login.php" method="post" >
<input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" size="20" />
<input type="password" name="pwd" id="pwd" size="20" value="" />
<input type="submit" name="submit" value=" Войти " class="button" />
<label for="rememberme"><input name="rememberme" id="rememberme" type="checkbox"  value="forever" /> Запомнить</label>&nbsp;&nbsp;&nbsp;
<input type="hidden" name="redirect_to" value="<?php echo $_SERVER['REQUEST_URI']; ?>" />
<a href="<?php echo get_option('home'); ?>/wp-login.php?action=lostpassword">Забыли пароль?</a>&nbsp;&nbsp;&nbsp;
<a href="<?php echo get_option('home'); ?>/wp-login.php?action=register">Регистрация</a>
</form>

    </td>
<td align="right" bgcolor="#CCCCCC" height="30"><?php get_search_form(); ?></td>
</tr>
</table>
</div>
<?php } ?>

В файл стилей добавляем следующую строку:

.loginlabel{ position:fixed;width:100%;font-size:13px;top:0px;}

Кстати, я не ошибся, написав, что авторизация будет вверху, а потом направил вас в footer.php. Положение этой формы задается стилями.

Вы наверное спросите, а зачем ? Можно же просто добавить в header.php ?

На самом деле разница есть. И копать надо в строну SEO. Ну не стоит поисковикам в первых строках вашего сайта видеть совсем не тематический текст.

На этом всё. Всем спасибо. Может пример кому и пригодится :)

Присоединяйтесь к нашей группе в Telegram @GeekElectronics
  • keyboard_arrow_downДелаем форму авторизации в WordPress
    • Автор:
    • Рубрика: Wordpress
    • Обновлено: 26.12.2017
    • Комментариев: 0
    • Просмотров: 2 449
  • Оцените пожалуйста статью
    1 Star2 Stars3 Stars4 Stars5 Stars
    Загрузка...
  • Поделитесь с друзьями
Geek Electronics

Комментариев: 0

Добавить комментарий

arrow_upward