Как создать тему WordPress. Урок 1. Создание и наполнение Index.php и style.css
Как создать тему WordPress? Тем кто впервые сталкивается с подобной задачей будет не просто, но изучив материал данного и последующих руководств вы научитесь создавать шаблоны для CMS WordPress. В данной публикации мы начнем наполнять файлы index.php и style.css что позволит нам перейти от теории к практике и уже видеть первые результаты на экранах монитора.
В предыдущем уроке, где мы рассматривали некоторые понятия, на которые стоит обратить внимание перед началом разработки шаблона WordPress, мы создали целый ряд файлов. Основным и главным файлом любой темы считается index.php, в помощь которому приходит style.css, отвечающий за настройку внешнего вида сайта.
Именно этих два файла мы и рассмотрим поподробнее. Для начала проверим их наличие, если оба файла существуют, идем дальше и откроем первый из них в редакторе NodePad++.
Наполняем index.php темы WordPress
Хочу заметить что наполнять все файлы мы будем постепенно и если вы не увидите каких-то атрибутов или элементов, значит они будут добавлены в дальнейшем с подробным объяснением.
Итак, отрываем индексный файл и вписываем в него следующий код:
<!DOCTYPE html>
<html>
<head></head>
<body>
<div id=»header»>
<h1 class=»site-title»>Site Title</h1>
<div class=»nav-menu»></div>
</div>
<div id=»main»>
<div class=»post»></div>
</div>
<div id=»sidebar»>
<div class=»widget»></div>
</div>
<div id=»footer»></div>
</body>
</html>
1234567891011121314151617
<!DOCTYPE html><html> <head></head> <body> <div id=»header»> <h1 class=»site-title»>Site Title</h1> <div class=»nav-menu»></div> </div> <div id=»main»> <div class=»post»></div> </div> <div id=»sidebar»> <div class=»widget»></div> </div> <div id=»footer»></div> </body></html>
Как мы можем видеть мы поделили страницу на 4 основных части — header, main, sidebar и footer. Уже сейчас нашу тему можно активировать и посмотреть на белый экран с единственной надписью «Site Title».
Пока остановимся на этом и пойдем к style.css, шапку которого нужно оформить по некоторым правилам.
Файл style.css в WordPress, добавление базовой информации о теме
По правилам файл style.css в WordPress должен иметь следующий комментарий в начале:
/*Theme Name: My First Theme
Theme URI: http://yrokiwp.ru
Author: Alex Spivak
Author URI: http://yrokiwp.ru
Description: Описание темы
Version: 1.0*/
123456
/*Theme Name: My First ThemeTheme URI: http://yrokiwp.ruAuthor: Alex SpivakAuthor URI: http://yrokiwp.ruDescription: Описание темыVersion: 1.0*/
Введенные тут данные будут отображаться в описании темы, в админке. Я думаю вы догадались какие элементы нужно поменять на свои.
После того как вы ввели свои данные, пропишем несколько правил, которые в любом случае будут необходимы:
* {
margin:0; /*Обнуляем все отступы, в нужных местах добавим их*/
padding:0;
}
body {
font-family: Arial, Helvetica, sans-serif; /*задаем основной шрифт текста*/
display:block; /*Заставляем все элементы вести себя как блочные*/
}
12345678
* {margin:0; /*Обнуляем все отступы, в нужных местах добавим их*/padding:0;}body {font-family: Arial, Helvetica, sans-serif; /*задаем основной шрифт текста*/display:block; /*Заставляем все элементы вести себя как блочные*/}
Правила в файл стилей будем добавлять по мере рассмотрения каждого участка кода, по этому оставляем style.css и вернемся к нашему index.php.
Разбиваем index.php на несколько файлов
В WordPress существует большое количество встроенных функций, которые ускоряют создание шаблона. В данном случае мы поговорим о get_header(), get_sidebar(), get_footer().
Итак, приступим к формированию структуры сайта, вынесем в отдельные файлы те части, которые будут повторяться на всех страницах сайта, это шапка, сайд бар и подвал.
Открываем файл header.php. Вырезаем с index.php следующий участок кода и вставляем его в header.php:
<!DOCTYPE html>
<html>
<head></head>
<body>
<div class=»header»>
<h1 class=»site-title»>Site Title</h1>
<div class=»nav-menu»></div>
</div>
12345678
<!DOCTYPE html><html> <head></head> <body> <div class=»header»> <h1 class=»site-title»>Site Title</h1> <div class=»nav-menu»></div> </div>
Аналогичную операцию проводим с sidebar.php участок кода следующий:
<div id=»sidebar»>
<div class=»widget»></div>
</div>
123
<div id=»sidebar»> <div class=»widget»></div></div>
Последний момент с footer.php:
<div id=»footer»></div>
</body>
</html>
123
<div id=»footer»></div> </body></html>
После того как мы вынесли все необходимые участки кода в отдельные файлы, добавляем функции, которые будут их подключать к индексному файлу. Итоговый index.php должен выглядеть следующим образом:
<?php get_header(); ?>
<div class=»main»>
<div class=»post»></div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
123456
<?php get_header(); ?> <div class=»main»> <div class=»post»></div> </div><?php get_sidebar(); ?><?php get_footer(); ?>
Теперь немного добавим функций в индексный файл и выведем названия постов с ссылками на их страницы.
<?php get_header(); ?>
<div class=»main»>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class=»post»>
<h2><a href=»<?php the_permalink(); ?>»><?php the_title(); ?></a></h2>
</div>
<?php endwhile; else: ?>
<p><?php _e(‘Простите, но публикаций пока нет.’); ?></p>
<?php endif; ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
123456789101112
<?php get_header(); ?> <div class=»main»><?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <div class=»post»> <h2><a href=»<?php the_permalink(); ?>»><?php the_title(); ?></a></h2> </div><?php endwhile; else: ?> <p><?php _e(‘Простите, но публикаций пока нет.’); ?></p><?php endif; ?> </div><?php get_sidebar(); ?><?php get_footer(); ?>
Можем сохранить настройки и посмотреть что у нас получилось. Зрелище не из приятных. Белый холст с ссылками при переходе по которым ничего не написано. Не переживайте это только основы, всему свое время, все приведем в порядок. Обсудим функции, которые мы применили.
Сначала мы запустили цикл WordPress, внутри него вывели несколько функций и в конце задали условие, в случае отсутствия постов.
Собственно обсуждать нам нужно только одну строчку, остальное сделайте так как написано:
<h2><a href=»<?php the_permalink(); ?>»><?php the_title(); ?></a></h2>
1
<h2><a href=»<?php the_permalink(); ?>»><?php the_title(); ?></a></h2>
Функция the_permalink() выводит URL поста, который в данный момент обрабатывается внутри цикла.
Следующая функция the_title() выведет заголовок поста, с этим думаю понятно.
Давайте подведем итог данного урока по созданию темы WordPress. Что же мы сделали сегодня:
- Создали структуру страницы;
- разбили индексный файл на несколько частей и поместили каждый из них в свой собственный файл;
- подключили файлы шаблона к индексному;
- запустили цикл WordPress;
- вывели заголовки постов с ссылками на материал.
На сегодня все, основная задача данного урока выполнена, в следующий раз займемся шапкой сайта, мета тегами и навигационным меню, а так же продолжим наполнять файл style.css. Не пропустите следующий урок, подписывайтесь на рассылку и продолжайте вместе с нами делать шаблон для CMS WordPress.
Every weekend i used to paay a quick visit this website, ffor thhe reason tat i want enjoyment, since this thbis web site
conaions rezlly gpod fjnny material too.
wonderful poiints altogether, you juist received a emblem neww reader.
Whaat would yyou recommend iin rregards tto yor putt
up thast you made spme days ago? Anyy positive?
Your point of view caught my eye and was very interesting. Thanks. I have a question for you.
Your article helped me a lot, is there any more related content? Thanks! https://accounts.binance.com/da-DK/register-person?ref=V2H9AFPY
Can you tell us more about this? I’d like to find out more details.
Feel free to surf to my web-site Alejandrina
Do you have any video of that? I’d love to
find out more details.
This info is worth everyone’s attention. When can I find out more?
Here is my web-site … продвижение сайта по трафику стоимость
What’s up everyone, it’s my first pay a quick visit at this web site, and
article is in fact fruitful in favor of me, keep up
posting these content.
Wow, wonderful blog layout! How long have you been blogging for?
you make blogging look easy. The overall look of your site is wonderful, let
alone the content!
Hey there, You’ve done a fantastic job. I will definitely digg it and personally suggest to my friends.
I’m sure they’ll be benefited from this website.
I am regular visitor, how are you everybody? This post pozted at this web siote
iis in fact fastidious.
Here is my web blog: купить анализ конкурентов
Woah! I’m really digging the template/theme of this site.
It’s simple, yet effective. A lot of times it’s tough
to get that «perfect balance» between usability and visual appearance.
I must say that you’ve done a fantastic job wiith this. In addition, the blog
loads very quick ffor me on Opera. Exceptional Blog!
Heree iss my web page; Venus
Incredible quest there. What occurred after?
Take care!
You really make it seem so easy with your presentation but I find
this topic to be actually something which I think I would never understand.
It seems too complicated and extremely broad for me. I’m looking forward for
your next post, I will try to gget the hang of it!
My blog post — Double Headstones
Quality conttent is the sehret to be a fohus for the users to pay a quick visit
the website, that’s what this site is providing.
Check out myy wweb page :: Double Headstones