Урок #4. Вёрстка главной страницы. Создание темы WordPress.
Итак, дизайн для темы WordPress готов. Сейчас мы будем верстать главную страницу, то есть переводить изображение в html страницу. В первую очередь мы создаём html каркас страницы, а затем пропишем стили для каждого идентификатора и класса.
Подготовка к вёрстке
Для того, чтобы начать вёрстку подготовим необходимые директории и файлы.
0. Создаем папку FirstTheme (название нашей темы), открываем ее, и дальше создаём все директории и файлы по инструкции.
1. Создаём папку favicon и загружаем в неё 6 иконок, со следующими параметрами:
- favicon.ico (размер 16×16);
- favicon.png (размер 48×48);
- favicon_apple_60.png (размер 60×60);
- favicon_apple_76.png (размер 76×76);
- favicon_apple_120.png (размер 120×120);
- favicon_apple_152.png (размер 152×152).
2. Создаём пустую папку images.
3. Создаём файл .htaccess со следующим содержимым:
AddDefaultCharset utf-8 AddCharset utf-8 * <IfModule mod_charset.c> CharsetSourceEnc utf-8 CharsetDefault utf-8 </IfModule> #Запрет на чтение всех дирректорий Options All -Indexes #Защита .htaccess <Files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </Files>
4. Создаём файл reset.css со следующим содержимым:
html, body, div, span, applet, object, iframe, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } /* HTML5 display-role reset for older browsers */ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } body { line-height: 1; } blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } table { border-collapse: collapse; border-spacing: 0; border:1px solid #dedede; } td { border:1px solid #dedede; }
5. Создаём пустой файл index.html.
6. Создаём файл style.css со следующим содержимым:
/* Theme Name: First Theme #Название темы Theme URI: //artemsannikov.ru #Адрес темы где ее можно скачать Description: Простая минималистичная тема для WordPress. #Описание темы Author: Artem Sannikov #Автор (разработчик) темы Author URI: //artemsannikov.ru #Адрес автора темы Tags: Sidebar, White, Adaptive, Minimalism #Теги описывающие вашу тему Version: 1.0 #Версия темы */
Важный момент: решетки и текст после них нужно удалить, чтобы получился вот такой вариант.
/* Theme Name: First Theme Theme URI: //artemsannikov.ru Description: Простая минималистичная тема для WordPress. Author: Artem Sannikov Author URI: //artemsannikov.ru Tags: Sidebar, White, Adaptive, Minimalism Version: 1.0 */
HTML каркас
Каркас страницы будет состоять из пяти основных блоков: шапка, вывод записей, боковая колонка, постраничная навигация и подвал. Давайте я подробно опишу, что включает в себя каждый блок.
- Шапка (название сайта, краткое описание и навигационное меню);
- Вывод записей (отображаются последние записи добавленные на сайт);
- Боковая колонка (будет включать в себя различные виджеты, как например: текст, произвольное меню и др.);
- Постраничная навигация (выводит список всех страниц на сайте);
- Подвал (выводится статическая текстовая информация и copyright).
Открываем файл index.html и вставляем в него следующий код.
<!DOCTYPE html> <html> <head> <!-- Charset --> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <!-- Page info --> <title>Главная страница</title> <meta name="language" content="ru"> <!-- Favicon --> <link rel="shortcut icon" href="favicon/favicon.png" type="image/png"> <link rel="shortcut icon" href="favicon/favicon.ico" type="image/x-icon"> <link rel="apple-touch-icon" sizes="60x60" href="favicon/favicon_apple_60.png"> <link rel="apple-touch-icon" sizes="76x76" href="favicon/favicon_apple_76.png"> <link rel="apple-touch-icon" sizes="120x120" href="favicon/favicon_apple_120.png"> <link rel="apple-touch-icon" sizes="152x152" href="favicon/favicon_apple_152.png"> <!-- Style CSS--> <link rel="stylesheet" href="reset.css"> <link rel="stylesheet" href="style.css"> <!-- JQuery Library --> <script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script> </head> <body> <!-- Обёртка --> <div id="wrapper"> <!-- Шапка --> <div class="header"> <!-- Название блога и описание --> <div class="bloginfo"> <h1><a href="">Блог Артёма Санникова</a></h1> <p>Подробные пошаговые обучающие уроки по сайтостроению и продвижению.</p> </div> <!-- Навигация --> <div class="nav"> <ul> <li class="current_page_item"><a href="">Главная</a></li> <li><a href="">Об авторе</a></li> <li><a href="">Контакты</a></li> <li><a href="">Карта сайта</a></li> </ul> </div> </div> <!-- Область для вывода контента --> <div class="content"> <!-- Вид записи --> <div class="box-post"> <!-- Миниатюра записи--> <div class="thumbnail-post"> <img src="//artemsannikov.ru/wp-content/uploads/2017/07/install-xampp-windows-130x130.jpg" width="130" height="130"> </div> <!-- Описание записи--> <div class="description-post"> <h2><a href="">Установка локального web-сервера Xampp</a></h2> <p class="info-post">Категория: Xampp / Опубликовано: 2017-07-24 / Просмотров: 30</p> <p>Xampp — кроссплатформенный web-сервер поддерживающий множество готовых библиотек, которые позволяют развернуть полноценный web-сервер на вашем компьютере.</p> <a href="" class="readmore">Читать далее..</a> </div> </div> <!-- Постраничная навигация--> <div id="page-navi"> <span class="page-numbers current">1</span> <a class="page-numbers" href="">2</a> <a class="page-numbers" href="">3</a> <a class="page-numbers" href="">4</a> <a class="page-numbers" href="">5</a> <a class="page-numbers" href="">6</a> <a class="page-numbers" href="">7</a> <span class="page-numbers dots">…</span> <a class="page-numbers" href="">42</a> <a class="next page-numbers" href="">»</a> </div> </div> <!-- Боковая колонка --> <div class="sidebar"> <div id="title-widget"> <h6>CMS системы</h6> </div> <div class="widget_nav_menu"> <ul> <li><a href="">Wordpress</a> <ul class="sub-menu"> <li><a href="">Настройки</a></li> <li><a href="">Функции</a></li> <li class="current-menu-item"><a href="">Плагины</a></li> <li><a href="">Хаки</a></li> <li><a href="">Создание темы</a></li> </ul> </li> <li><a href="">Программы</a> <ul class="sub-menu"> <li><a href="">Google Chrome</a></li> <li><a href="">Balsamiq Mockups</a></li> <li><a href="">Sublime Text</a></li> <li><a href="">Adobe Photoshop</a></li> </ul> </li> </ul> </div> <div id="title-widget"> <h6>Текстовый блок</h6> </div> <div class="textwidget"> <p>Каждый веб-разработчик знает, что такое текст-«рыба». Текст этот, несмотря на название, не имеет никакого отношения к обитателям водоемов. Используется он <a href="">веб-дизайнерами</a> для вставки на интернет-страницы и демонстрации внешнего вида контента, просмотра шрифтов, абзацев, отступов и т.д. </p> </div> <div id="title-widget"> <h6>Изображение</h6> </div> <div class="textwidget"> <center><img src="//artemsannikov.ru/mc/40collage-instagram/images/box.png" width="200"></center> </div> </div> <!-- Подвал--> <div class="footer"> <p>Использование и копирование материалов сайта без согласия автора категорически запрещено.</p> <p>Артём Санников © 2014 - 2017</p> </div> </div> </body> </html>
CSS стили
Каркас html готов, приступаем к оформлению css. Для того, чтобы вы понимали что это за блок стилей и к чему он относится я оставил комментарии, которые будут вам хорошим подспорьем.
Открываем файл style.css и вставляем него следующий код.
/* Theme Name: First Theme Theme URI: //artemsannikov.ru Description: Простая минималистичная тема для WordPress. Author: Artem Sannikov Author URI: //artemsannikov.ru Tags: Sidebar, White, Adaptive, Minimalism Version: 1.0 */ /*Подключение шрифта Open Sans с Fonts.Google.com*/ @import url('//fonts.googleapis.com/css?family=Open+Sans:400,600,700'); * { margin: 0; padding: 0; } body { font-family: 'Open Sans', sans-serif; font-size: 12px; color: #333; background: #f9f9f9; } img { max-width: 100%; height: auto; } /*Обёртка*/ #wrapper { width: 1000px; height: auto; margin: 0 auto; background: #fff; overflow: hidden; box-shadow: 0 0 3px #dcdcdc; outline: 0px solid red; } /*Шапка*/ .header { width: 1000px; height: 140px; border-bottom: 1px solid #eee; overflow: hidden; } /*Название блога и описание*/ .bloginfo { float: left; width: 300px; height: 60px; margin: 40px 0 0 30px; } .bloginfo h1 { font-size: 16px; font-weight: bold; margin: 0 0 10px 0; } .bloginfo h1 a { color: #333; text-decoration: none; } .bloginfo h1 a:hover { color: #2d3e50; } .bloginfo p { font-size: 14px; color: #666; line-height: 1.3; } /*Навигация*/ .nav { float: right; margin: 55px 20px 0 0; } .nav ul { list-style-type: none; list-style-position: inside; } .nav ul li { display: inline-block; font-size: 14px; line-height: 1; } .nav ul li a {/*ссылка в пассивном состоянии*/ color: #333; margin: 0 0 0 15px; text-decoration: none; padding: 5px 10px; } .nav ul li.current_page_item a {/*активная ссылка*/ background: #2d3e50; color: #fff; border-radius: 3px; } .nav ul li a:hover {/*ссылка при наведении*/ background: #eee; color: #333; border-radius: 3px; } /*Область для вывода контента*/ .content { float: left; width: 670px; height: auto; margin: 30px 30px; overflow: hidden; outline: 0px solid blue; } /*Вид записи*/ .box-post { width: 670px; height: auto; margin: 0 0 30px 0; padding: 0 0 30px 0; overflow: hidden; border-bottom: 1px solid #eee; } /*миниатюра записи*/ .thumbnail-post { float: left; width: 136px; height: 136px; margin: 0 20px 0 0; } .thumbnail-post img { display: block; vertical-align: bottom; padding: 2px 2px; border: 1px solid #dfdfdf; background: #fff; border-radius: 50%; } /*описание записи*/ .description-post { float: right; width: 514px; height: auto; } .description-post h2 { font-size: 16px; font-weight: bold; line-height: 1; margin: 0 0 20px 0; } .description-post h2 a { text-decoration: none; color: #333; } .description-post h2 a:hover { color: #2d3e50; } .description-post p.info-post { font-size: 14px; color: #666; line-height: 1; margin: 0 0 30px 0; } .description-post p { font-size: 14px; color: #666; line-height: 1.5; margin: 0 0 30px 0; } .description-post a.readmore { display: inline-block; padding: 8px 12px; border-radius: 2px; background: #FFD15C; line-height: 1; font-size: 14px; color: #333; text-decoration: none; } .description-post a.readmore:hover { background: #2d3e50; color: #fff; } /*Постраничная навигация*/ #page-navi { width: 670px; height: auto; } /*Ссылка на страницу*/ #page-navi a.page-numbers { display: inline-block; font-family: 'Open Sans', sans-serif; font-size: 14px; color: #666; padding: 6px 9px; border: 1px solid #dfdfdf; border: 0; margin: 0 0 0 5px; text-decoration: none; } #page-navi a.page-numbers:hover { color: #2d3e50; border: 1px solid #2d3e50; padding: 5px 8px; } /*Активная ссылка*/ #page-navi .page-numbers.current { display: inline-block; font-family: 'Open Sans', sans-serif; font-size: 14px; color: #2d3e50; padding: 5px 8px; margin: 0 0 0 10px; border: 1px solid #2d3e50; background-color: #fff; cursor: default; } /*Страница N из N*/ #page-navi span.pages { font-size: 14px; line-height: 1; color: #666; } /*Боковая колонка*/ .sidebar { float: right; width: 240px; height: auto; margin: 30px 30px 30px 0; outline: 0px solid red; } /*заголовок виджета*/ #title-widget { width: 240px; height: auto; margin: 0 0 30px 0; } #title-widget h6 { font-weight: bold; font-size: 16px; color: #333; line-height: 1; } /*виджет - текст*/ .textwidget { width: 240px; height: auto; margin: 0 0 30px 0; } .textwidget p { font-size: 14px; color: #666; line-height: 1.5; } .textwidget p a { color: #2d3e50; text-decoration: underline; } .textwidget p a:hover { color: #666; text-decoration: none; } .textwidget img { display: block; vertical-align: bottom; } /*Виджет - произвольное меню*/ .widget_nav_menu { width: 240px; height: auto; margin: 0 0 30px 0; } .widget_nav_menu ul { list-style-type: none; list-style-position: inside; } .widget_nav_menu ul li { font-size: 14px; color: #666; } .widget_nav_menu ul li a { display: list-item; color: #666; text-decoration: none; margin: 0 0 15px 0; } .widget_nav_menu ul li.current-menu-item a {/*активная категория или страница*/ color: #2d3e50; text-decoration: underline; } .widget_nav_menu ul li a:hover {/*ссылка при наведении*/ color: #333; text-decoration: underline; } /*древовидный список*/ .widget_nav_menu ul.sub-menu { margin: 0 0 0 15px; } .widget_nav_menu ul.sub-menu a:after {/*стилизация ссылки древовидного списка*/ float: left; content: "-"; font-size: 14px; color: #666; margin: 0 5px 0 0; } .widget_nav_menu ul.sub-menu li.current-menu-item a {/*активная категория или страница*/ color: #2d3e50; text-decoration: underline; } .widget_nav_menu u.sub-menul li a:hover {/*ссылка при наведении*/ color: #333; text-decoration: underline; } /*Подвал*/ .footer { width: 1000px; height: auto; border-top: 1px solid #eee; padding: 30px 0; overflow: hidden; } .footer p { font-size: 14px; color: #666; line-height: 1; margin: 0 0 10px 0; text-align: center; } .footer p:last-child {/*убираем отступ у последнего абзаца*/ margin: 0 0 0 0; }
С уважением, Артём Санников
Сайт: ArtemSannikov.ru
Метки: Wordpress, Создание темы.