В многопользовательских блогах на 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>
<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>
<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. Ну не стоит поисковикам в первых строках вашего сайта видеть совсем не тематический текст.
На этом всё. Всем спасибо. Может пример кому и пригодится :)