Воскресенье , Декабрь 17 2017

Как сделать шаблон для wordpress (часть 2)

Итак, напомню вам, что вы читаете статью о том, как сделать шаблон для wordpress. В прошлой статье мы с вами рассмотрели состав темы для wordpress, разобрали, что должен содержать в себе header.php, что должен содержать footer.php, и что должен содержать в себе sidebar.php. Далее, мы с вами подредактировали style.css – добавили в комментарии текст, который должен содержать style.css, чтобы ВП видел эту тему. На данный момент, у нас с вами есть тема со всеми основными файлами, правда часть из них ещё пуста. Все готово, чтобы начать заниматься непосредственно созданием index.php. Если у вас чего-то нет, то обязательно вернитесь на прошлую страницу и проделайте нужные вам шаги.

В вордпрессе нужно сделать index.php, а остальные файлы для вывода записей (single.php, page.php, archive.php) получаются путем редактирования этого файла. Поэтому, сейчас перед нами стоит задача сделать индекс. Во-первых, нужно сначала разобраться с дивами (если у вас верстка построена на дивах) или с таблицами (если верстка у вас построена на таблицах). Вам нужно для себя выделить некоторые блоки: блок, в котором размещается одна ваша статья – это можно проверить путем удаления этого блока целиком, если остались все статьи кроме этой, а дизайн не поплыл, то вы нашли правильный блок, также нужно найти блок, в котором располагаются все блоки текстовой информации.

Т.е. структура такая:

<div>

<div>

Весь блок данной статьи

</div> /* конец блока post*/

<div>

Весь блок данной статьи:

</div> /* конец блока post*/

<div>

Весь блок данной статьи:

</div> /* конец блока post*/

</div> /* конец блока content*/

При удаление любого из блоков с классом post у вас должен исчезнуть только этот блок, а другие должны остаться на месте. Я рекомендую использовать для этого плагин для фф – Firebug, но я думаю, что если вы вебмастер, то этот плагин у вас есть. Он отлично помогает найти те самые блоки.

Так, теперь, когда вы нашли эти блоки, уже можно писать функции для вывода. В вордпресс есть один основной цикл – theLoop. В этом цикле происходит вывод всех записей вместе с информацией о них (категория, дата создания, автор, теги и т.д.). Вам нужно найти блок, который в моем примере называется <div> (важно, чтобы у блока был не идентификатор, а был класс, иначе будет не валидная верстка). Далее, вам нужно перед этим блоком написать следующий код:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

Это начало цикла. Теперь, вам нужно удалить весь обычный текст, который был в примере index.html, и оставить один блок, который в моем примере называется <div>. Возможно, он у вас изначально один, но у меня было три записи, поэтому мне пришлось полностью удалить два блока, а в третьем блоке оставить все кроме текста.

После <div> обычно идёт блок:

<div>

<div class=»meta2inner»>

<div class=»pday»><?php the_time(‘j’); ?></div>

<div class=»pmonth»><?php the_time(‘M/y’); ?></div>

</div>

</div>

В этом блоке идёт вывод даты. Вам нужно задать стили для классов meta2inner, pday и pmonth. Также вы можете вывести сверху теги, с помощью функции:

<?php the_tags(», ‘, ‘); ?>

Далее, идёт вывод заголовка записи:

<h2><a href=»<?php the_permalink() ?>»><?php the_title(); ?></a></h2>

Вам нужно будет задать свой стиль для класса posttitle. Далее, идёт вывод контента с помощью функции

<div><?php the_content(‘(далее…)’); ?></div>

В моем примере, как я уже писал, текст выводится в диве с классом post, у вас, возможно, другой класс.

После вывода записи люди иногда выводят рубрики, к которым относится эта запись (функция <?php the_category(‘, ‘); ?> ), автора (функция <?php the_author_posts_link(); ?>), количество комментариев (функция <?php comments_popup_link(’0 коммент. &raquo;’, ’1 коммент. &raquo;’, ‘% коммент. &raquo;’); ?>)

Конечно же, вам нужно создать <div> c классом, в котором будет выводится информация о записи.

В конце записи можно вывести ссылку «Читать далее» с помощью функции:

<a href=»<?php the_permalink() ?>»>далее…</a>

На этом цикл заканчивается, поэтому его нужно закрыть:

<?php endwhile; ?>

<?php else : ?>

Далее мы пишем текст, который должен появиться, если нашей записи нет:

<div>

<h2 class=»posttitle»><a href=»<?php the_permalink() ?>»>Не найдено</a></h2>

<div class=»postcontent»><p>К сожалению, по Вашему запросу ничего не найдено..</p></div>

</div>

Вам, опять же, нужно задать стили для этих классов, чтобы текст выводится в правильном формате.

Закрываем цикл после всего:

<?php endif; ?>

Теперь, нам нужно сделать навигацию по блоку. Для этого лучше использовать плагин пейджнави, но я покажу, как это сделать стандартными средствами:

<div id=»nextprevious»>

<div><?php next_posts_link(‘&laquo; Предыдущие записи’) ?></div>

<div><?php previous_posts_link(‘Следующие записи &raquo;’) ?></div>

</div>

Все, на этом мы закончили страницу index.php Если вы её сделали верное, то должны увидеть список записей, которые у вас должны появится на экране, если они есть в базе. Для проверки создайте несколько записей и посмотрите, вывел их цикл или нет.

В третьей части статьи будет рассмотрено создание остальных файлов для темы, и регистрация сайдбара.

Смотрите также

Keywords и Description для чайников

Никто и не спорит с тем, что эти теги уже не оказывают магического воздействия на …

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *