На заключному етапі розробки дизайну для WordPress можна створити власний вигляд сторінки входу адміністратора. Даний урок буде про те, як легко це зробити без використання плаґінів.
Навіщо це робити
Більшість веб-сайтів, які використовують WordPress, мають загальний дизайн сторінки входу. Однак, деякі клієнти можуть захотіти брендувати усі частини сайту.
Я покажу вам, як я змінив сторінку входу для «Продизайн». Це досить просто, ви можете використовувати власні CSS та jQuery файли без необхідності використання сторонніх плаґінів.
Структура шаблону
Перевага цього методу в тому, що можна тримати всі файли в каталозі шаблону, на відміну від плагінів, які зберігають всі файли у своєму власному каталозі. Завдяки цьому, будь-який файл легко знайти і все логічно організовано.
Змінюємо functions.php
function custom_login() { $files = ' '; echo $files; } add_action('login_head', 'custom_login');
Перший крок — вписуємо нову функцію у файл functions.php. Потім, заносимо всі потрібні файли в одну змінну ($files) і виводимо її. Я можу підключити файли, які знаходять в каталозі теми використовуючи функцію get_bloginfo(‘template_directory’). Також, я підключив урізану версію фреймворку jQuery.
function custom_login_url() { echo bloginfo('url'); } add_filter('login_headerurl', 'custom_login_url'); function custom_login_title() { echo get_option('blogname'); } add_filter('login_headertitle', 'custom_login_title');
Я додав ще дві функції. Перша — змінює посилання логотипу, яке тепер буде вести на головну сторінку веб-сайту (замість wordpress.org). Друга — змінює заголовок сторінки. В нашому випадку, ми отримаємо в заголовку назву сайту. На цьому з PHP завершено ;)
Змінюємо CSS
Тут вже буде трохи складніше тому, що вам потрібно дивитися на DOM для того, щоб знайти ті елементи, які можна змінити. Також потрібно перевизначити CSS правила на сторінці. В цьому вам допоможуть інструменти розробника. Я буду використовувати Chrome, тому для виклику даного інструмента просто необхідно натиснути F12. Якщо ви не використовуєте Chrome, а наприклад, Firefox, тоді можете використати або вбудовані інструменти для розробки, або Firebug.
Зараз ми будемо працювати з файлом login.css, який знаходиться в каталозі css активної теми. Тож, якщо у вас досі немає такого файлу/каталогу, то вам потрібно його створити.
Давайте змінимо фон сторінки.
body.login { background: url('../images/login_bg2.png') }
Змінимо логотип.
body.login h1 a { background: url('../images/logo.png') center center no-repeat transparent; margin: 0 auto 30px; opacity: 0.5; padding: 0; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; } body.login h1 a:hover {opacity: 1;}
Файл «logo.png» повинен знаходитися в папці «images» вашої поточної теми.
Змінюємо стилі форми.
.login form { border: 1px solid #ddd; -moz-border-radius:0; -webkit-border-radius:0; -o-border-radius:0; -ms-border-radius:0; border-radius:0; -moz-box-shadow:inset 0 0 25px #eee; -webkit-box-shadow:inset 0 0 25px #eee; -o-box-shadow:inset 0 0 25px #eee; -ms-box-shadow:inset 0 0 25px #eee; box-shadow:inset 0 0 25px #eee; padding-top: 0; font:16px "Trebuchet MS", Verdana, Arial, Tahoma, sans-serif; }
Змінюємо стилі текстових полів
.login form input[type=text],.login form input[type=password] { border: 0; -moz-box-shadow:none; -webkit-box-shadow:none; -o-box-shadow:none; -ms-box-shadow:none; box-shadow:none; -moz-border-radius:0; -webkit-border-radius:0; -o-border-radius:0; -ms-border-radius:0; border-radius:0; padding: 5px; background: #fff; font:800 16px "Trebuchet MS", Verdana, Arial, Tahoma, sans-serif; border-bottom: 1px solid #ccc } .login form input[type=text]:focus,.login form input[type=password]:focus { border-bottom: 1px solid #777 }
Додаємо трохи простору після текстових полів
.login form .forgetmenot,.login form .submit { margin-top: 10px }
Змінюємо стиль кнопки «Вхід».
.login form #wp-submit { border-radius: 5px; background: orange; border: 0; text-shadow:none; -moz-transition:background 0.25s ease, color 0.25s ease; -webkit-transition:background 0.25s ease, color 0.25s ease; -o-transition:background 0.25s ease, color 0.25s ease; -ms-transition:background 0.25s ease, color 0.25s ease; transition:background 0.25s ease, color 0.25s ease; } .login form #wp-submit:hover { background: #000; color: orange } .login form #wp-submit:active { margin-top: 1px }
Змінюємо колір посилання «Забули пароль?» і ховаємо посилання «Повернутись до Журнал «Продизайн».
#nav { text-align: center; } #nav a { border-bottom: 1px dotted #21759B; text-decoration: none; } #nav a:hover { border-bottom: 1px dotted #D54E21 } #backtoblog { display: none; }
Підключаємо jQuery
Переходимо до файлу login.js. Я хочу додати placholder-и для input-ів і видалити label-и.
$(document).ready(function() { $('#loginform input[type="text"]').attr('placeholder', 'Лоґін'); $('#loginform input[type="password"]').attr('placeholder', 'Пароль'); $('#loginform label[for="user_login"]').contents().filter(function() { return this.nodeType === 3; }).remove(); $('#loginform label[for="user_pass"]').contents().filter(function() { return this.nodeType === 3; }).remove(); });
Тут все досить просто. За допомогою метода attr я створив placeholder-и, а за допомогою filter видалив текст з усіх label-ів.
Результат роботи
Використовуючи прості WordPress функції, трохи CSS та jQuery можна легко змінити сторінку входу адміністратора без необхідності використання сторонніх плаґінів.
Першоджерело — «Create a Custom WordPress Login Without Plugins».
2 коментарів
оцените нашу разработку, которая выполняет те же функции http://wordpress.org/extend/plugins/maintenance/
возможность загрузки своего лого, фона, изменения в текстовых полях
На скріншотах виглядає симпотно. Але у мене (на продизайні) не запрацювало (вер. 3.4.3).
Ну і, якщо даєте змінювати тексти, то було б не погано їх змінювати всюди. І текст кнопки і підказки в полях вводу.