Как создать тему 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.

Related Articles

Back to top button
Close
analisis mendalam rtp mahjong ways mengapa pola tumble tertentu sering memicu bonus beruntun momentum reel stabil indikator tersembunyi sebelum freespin besar di mahjong wins peta rotasi simbol bagaimana jalur scatter membentuk fase pre ledakan di game modern laporan harian pola spin turbo malam hari yang konsisten mengangkat frekuensi multiplier riset visual efek clean frame dan dense spin terhadap keputusan spin lanjutan pemain mahjong algoritma cerdas spin harian formula baru mengelola budget kecil agar cuan tetap berkelanjutan gold wild dan multiplier kombinasi mekanik yang mengubah probabilitas return realistis pemain jalur logis dari spin biasa ke pre burst studi kasus slide track pada seri mahjong terbaru output tinggi tanpa panik spin strategi mengatur ritme tumble untuk mengurangi dead spin beruntun korelasi jam 20 00 23 00 dengan pola scatter laporan observasi live dari meja mahjong ways era baru pola spin mengapa pemain berpengalaman beralih ke pendekatan probabilitas mikro simulasi ribuan spin data menarik tentang kapan reel konsisten berujung pada freespin premium ritme visual yang menipu bagaimana efek animasi membuat pemain gagal membaca sinyal pre fs dari repair rush ke clean frame perbedaan pola recovery setelah tumble buruk di mahjong ways 2 symbol route mapping teknik memetakan jalur simbol untuk mendeteksi potensi ledakan mendadak performa scatter ganda studi perbandingan antara pola jam pagi dan malam di game high volatility blueprint spin harian kerangka strategis mengatur turbo manual dan auto spin dalam satu sesi frekuensi mini tumble sebagai early warning kapan sebaiknya berhenti dan kapan menunggu fs mahjong 3 0 pergeseran meta dari kejar maxwin ke cuan konsisten berbasis pola data riset lapangan pemain casual seberapa jauh mereka mengikuti sinyal visual dibandingkan data rtp studi komparasi pola tumble mahjong ways menunjukkan anomali positif di server sore analisa fluktuasi scatter mengapa putaran turbo sering memicu fase pre burst riset algoritma korelasi antara simbol naga dan multiplier x10 yang sering terabaikan evaluasi siklus spin menemukan titik jenuh mesin sebelum reset menjadi gacor observasi lapangan pola pecahan emas mahjong ways membentuk tren kenaikan saldo signifikan hipotesis teruji teknik jeda spin ternyata mampu memancing trigger free game lebih cepat laporan teknis stabilitas server jam 21 00 berdampak langsung pada frekuensi wild menumpuk bedah mekanisme bagaimana sistem runtuhan mahjong wins 2 menciptakan momentum kemenangan beruntun arus lalu lintas padat di kota mengingatkan pada ritme cepat spin turbo mahjong ways fenomena langit cerah pasca badai simbolisasi visual saat scatter turun bertubi tubi gelombang laut pasang sore hari memiliki kemiripan pola dengan grafik rtp mahjong ways suara hujan deras di atap seng analogi bunyi koin big win yang dinanti pemain keteraturan barisan semut berjalan filosofi konsistensi bet kecil sebelum ledakan jackpot formula probabilitas mengatur modal minim untuk memancing algoritma pecah di menit awal mekanisme roda gigi jam kuno representasi akurat perputaran reel slot yang presisi rahasia navigasi menu fitur tersembunyi yang kerap digunakan pemain pro untuk reset pola strategi adaptasi cara membaca perubahan pola mahjong ways setelah maintenance rutin kalkulasi resiko menentukan kapan harus berhenti spin saat indikator rungkad mulai muncul optimalisasi akun baru mengapa id fresh sering mendapat prioritas scatter di 100 spin pertama transisi pola mengenali tanda perubahan dari fase sedot menuju fase muntah koin konsistensi reel 3 4 indikator paling stabil sebelum munculnya scatter beruntun riset mikro pattern mengapa mini wild sering menjadi pemicu awal freespin premium analisis slide momentum transisi halus dari tumble biasa ke pre burst di mahjong ways pola jam subuh 03 00 05 00 data menarik mengenai peningkatan frekuensi multiplier ritme spin lambat apakah efeknya benar benar meningkatkan probabilitas bonus fenomena quiet board ketika layar terlihat tenang namun menyimpan potensi tumble besar studi cluster scatter bagaimana 2 scatter bertahan lama sebelum akhirnya meledak jadi 3 korelasi wild bertingkat apakah pola aktivasi bertahap menjadi sinyal pre freespin observasi hari ini slide track berpola zig zag muncul lebih sering di jam malam simulasi 5000 spin pola turbo short burst yang konsisten mendekati fs premium mengurai dead calm fase tenang 10 20 spin yang justru mendahului ledakan bonus mapping rotasi simbol ketika reel atas jadi penentu arah tumble besar pola recovery setelah dead spin mengapa 2 wild awal sering menjadi titik kembali analisis visual efek animasi slow tumble sebagai tanda reel memasuki zona stabil scatter delay pattern ketika scatter muncul terlambat justru meningkatkan peluang fs pre burst marker tanda tanda halus dari pola reel 1 2 sebelum meledak tajam eksperimen spin manual vs auto mana yang lebih konsisten memicu mini tumble berulang laporan estetik clean frame versi putih muncul lebih sering saat rtp stabil jalur simbol menurun apakah ini menjadi fase awal aktivasi multiplier bertingkat rangkaian wild tipis ketika 1 2 wild acak justru menjadi fondasi bonus beruntun