Как сделать шаблон для wordpress?(index.php)

| Рубрика: Wordpress

И так, продолжим… на данный момент у нас есть папка с темой, но если вы положите её в папку themes, то в админке будет как и погода в Хмельницке в последние дни — без изменений, именно поэтому, как я и говорил ранее, надо добавить некоторый код в файл style.css.
Ведь если вы заметили, что у каждой темы есть автор, маленькая картинка того, как выглядит шаблон, а так некоторая «служебная» информация, а именно описание данного шаблона, автор шаблона, сайт автора и сайт темы.

/*
Theme Name: immaker
Theme URL:
Description: Theme created by DarkAngel, from <a href="http://bewebmaster.ru">bewebmaster.ru</a>
Version: 1.0
Author: Darkangel
Author URI:
*/

Думаю не сложно понять что значит каждая строчка, но раз я решил рассказать всё, поясню

Theme Name: immaker

Определяет название темы, которое так же отображается в админке, в разделе выбора тем

Theme URL:

Определяет ссылку на тему, данной ссылки у нас нету, так что можно оставить это поле пустым

Description: Theme created by DarkAngel, from <a href="http://bewebmaster.ru">bewebmaster.ru</a>

Описание темы, отображается в админке

Version: 1.0

Версия шаблона

Author: Darkangel
Author URI:

Ну и соответственной Автор и ссылка на автора.

Наша тема в админке

Вот как теперь наша тема выглядит в админке движка, соответственно картинки у неё нет, но ,чтобы вы знали как её потом установить, то достаточно загрузить картинку размерами 300х300 с  названием screenshot (по поводу разрешения не знаю, но на всякий случай ставьте .png их точно различает).

Нажимаем активировать, и если мы перейдём на сайт, то увидим пустой лист. Это естественно, ведь в файле index.php пусто.

И теперь самое время его написать.

И так, открываем с помощью текстового редактора файл index.php и пишем туда следующий код


Эти три функции, соответственно, подключают файлы header.php sidebar.php и footer.php лежащие в той же директории что и index.php.

Давайте немного отойдём, и вспомним, как у нас устроена страница

Содержание страницы

Так вот, в файл header.php пишется открывающий тег <html>, вся информация из <head></head> а так же часть из <body> а именно шапка сайта.

В файл sidebar.php пишется код блока с сайдбарами, ну и соответственно в footer.php пишется код подвала, а так же закрывающий тег </html>

А всё что остаётся, пишется в файл index.php

Постарался объяснить очень понятно)

Что же остаётся? А остаются у нас (смотря по макету) посты и навигация по ним.

Давайте уже допишем Index и забудем про него, и так… посты…

За вывод постов, в WordPress используется следующая конструкция


Если «прочитать её» то звучит так

Если есть посты, то пока есть посты (запускается цикл), выводить пост

<!—Код поста—>

Закончить цикл (когда посты кончатся)

Иначе, если нет постов

<!—код, если постов нету—>

Закрыть конструкцию условия

Выглядит немного «не по-русски», но именно так это читается)

Теперь же, напишем код  в наш Index.php

|Рубрики:

Не найдено

Извините, записей нету..

<!--?php endif; ?-->
<!--?php get_sidebar(); ?-->
<!--?php get_footer(); ?-->

Вот и вся недостающая часть нашего файла index.php

Уверен что непонятного много, распишу каждый символ)

Ну соответственно открывается конструкция цикла, открывается блок Поста, открывается блок Заголовка поста, далее идёт


Эта строчка выводит нам ссылку, заключённую в теге h1, цель ссылки это функция php the_permalink() которая возвращает нам ссылку на наш пост, далее Описание ссылки – с функцией php the_title(); которая выводит нам название нашего поста, ну и затем опять же эта функция, но уже не в описании, а в самом тексте ссылки.


Далее идёт span с датой, формат будет выводиться по умолчанию, а именно тот, который указан в админке, если хотите чтобы он выводится по другому, то или измените в админке, или погуглите эту функцию и напишите тот формат, который вы хотите (слишком много там параметров, не хочу расписывать их все, статья и так разбухла).

<span class="cast">Рубрики: <!--?php the_category(', ') ?--></span>

Далее идёт span с рубриками поста. Выводит их функция php the_category(‘, ‘) в параметрах которой, указан разделитель рубрик, а именно запятая

Далее закрывается блок с Заголовком поста, открывается блок с Текстом поста


Эта функция возвращает нам текст поста, в параметрах указывается содержание ссылки «Далее». То есть, он нам выведет анонс поста, до тега <!—more—>, и заменит всё остальное на ссылку «читать далее».


Далее у нас идёт span с комментариями, за которые отвечает функция comments_popup_link(), в параметрах которых у нас записано следующее

comments_popup_link('текст если комментариев нету’, 'текст если комментарий один', 'конструкция если комментариев больше 1го');

знак % как вы поняли возвращает место цифры количества комментариев


Следующая конструкция выводит нам навигацию по страницам, в сборке, она убога и никто её почти не использует

!!!В последствии мы её заменим, но пока оставим так, не будем зацикливаться на этом.

Не найдено

Извините, записей нету..

Ну и естественно участок кода, который будет выводится если не найдено ни одной записи.

Вот и всё с index.php.

Вот что получится если теперь зайти на наш сайт с шаблоном.

Я начал всё делать на «пустом» движке, c исходным содержанием. Всё получилось так, как мы хотели. Пост выводится без ошибок, ссылки далее у нас нету, т.к. у нас в этой статье не прописан тег <!—more—>.

Так как статья получилась огромной, рассмотрение файла header.php отделим и рассмотрим в следующей

Удачного дня.

  • Юлия

    Здравствуйте, спасибо за данный материал, а когда будет следующая статья???

  • darkangel

    Здравствуйте, спасибо за данный материал, а когда будет следующая статья???

    Незачто. Следующая будет севодня-завтра.