Как вывести форму входа и регистрации прямо в сайдбаре, чтобы не открывать отдельную страницу? Есть несколько способов, с помощью которых можно реализовать такую возможность, но сначала хотел бы рассказать о способе без плагинов.
Вставьте в нужное место шаблона следующий код:
<?php if (!(current_user_can('level_0'))){ ?> <h3>Вход</h3> <form action="<?php echo get_option('home'); ?>/wp-login.php" method="post"> <p><label for="log">Имя</label><input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" size="20" /> </p> <p><label for="pwd">Пароль</label><input type="password" name="pwd" id="pwd" size="20" /></p> <p><input type="submit" name="submit" value="Войти" class="button" /></p> <p> <label for="rememberme"><input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" /> Запомнить меня</label> <input type="hidden" name="redirect_to" value="<?php echo $_SERVER['REQUEST_URI']; ?>" /> </p> </form> <a href="<?php%20echo%20get_option('home');%20?>/wp-register.php">Регистрация</a> <a href="<?php%20echo%20get_option('home');%20?>/wp-login.php?action=lostpassword">Восстановить пароль</a> <?php } else { ?> <ul class="admin_box"> <li><a href="<?php%20echo%20get_option('home');%20?>/wp-admin/">Консоль</a></li> <li><a href="<?php%20echo%20get_option('home');%20?>/wp-admin/post-new.php">Написать новый пост</a></li> <li><a href="<?php%20echo%20get_option('home');%20?>/wp-admin/page-new.php">Создать страницу</a></li> <li><a href="<?php%20echo%20get_option('home');%20?>/wp-login.php?action=logout&redirect_to=<?php%20echo%20urlencode($_SERVER['REQUEST_URI'])%20?>">Выйти</a></li> </ul> <?php }?>
Эта простенькая форма отлично умещается в сайдбаре. Если пользователь еще не вошел, то он видит поля ввода имени и пароля, а так же ссылку на регистрацию.
После входа пользователь опять попадет на ту страницу, на которой был. Форма изменит свое содержание — появятся ссылки для быстрого доступа к разделам в админке.