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

Делаем форму авторизации в 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. Ну не стоит поисковикам в первых строках вашего сайта видеть совсем не тематический текст.

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

Не забывайте оценивать и комментировать статьи, чтобы автор понимал — стоит ли писать на похожие темы или это интересно только ему одному :)

Похожие записи

  • keyboard_arrow_downДелаем форму авторизации в WordPress
    • Автор:
    • Язык: ru-RU
    • Рубрика: Wordpress
    • Обновлено: 26.12.2017
    • Комментариев: 0
    • Просмотров: 1 740
      • searchПоисковые боты
        Дата Бот
        2018-01-18 15:05:01 Google
        2018-01-16 19:14:10 Yandex
        2018-01-15 02:14:52 Bing
        2018-01-13 16:44:28 Yandex
        2018-01-13 15:37:04 Yandex
        2018-01-13 08:55:39 Google
        2018-01-12 14:05:31 Google
        2018-01-12 12:10:26 Yandex
        2018-01-10 04:13:21 Yandex
  • Оцените пожалуйста статью
    1 Star2 Stars3 Stars4 Stars5 Stars
    Loading Загрузка...
  • Поделитесь с друзьями
GeekElectronics

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

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

arrow_upward