Пишем тему для WP — часть 3

9 03 2007

    Оригинал статьи - Part 3 - Index

Теперь мы входим самую в трудную часть. Файл Index.php - основной файл в нашей теме для WordPress. Мы надеемся, ваш index.php похож на это: (читаем первую часть)
<div id="main">
main
</div> <!– close main –>

Вызываем Файлы Шаблона

Теперь то, что мы хотим сделать, должно вызвать наш header.php, sidebar.php и footer.php в наш index.php файл. Чтобы сделать это, мы нуждаемся в этих функциях.
<? php get_header ();?> - Эта функция вызовет наш header.php файл
<? php get_sidebar ();?> - Эта функция вызовет наш sidebar.php файл
<? php get_footer ();?> - Эта функция вызовет наш footer.php файл
Поместите <? php get_header ();?> выше главного id . <? php get_sidebar ();?> и <? php get_footer ();?> - ниже главного id. Вот так:
<?php get_header(); ?>
<div id="main">
main
</div> <!– close main –>
<?php get_sidebar(); ?>
<?php get_footer(); ?> 

Цикл

Хорошо что теперь? Теперь мы собираемся делать цикл WordPress. Да-а … Этот цикл используется, чтобы показать наши посты на вебсайте. Начало цикла выглядит так:
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
и закончится этим. Я объясню, почему мы нуждаемся “else: (англ. еще)” позже.
<?php endwhile; else: ?>
После <? php endwhile;?>, удостоверьтесь, что он гаходиться до <? php endif;?>.
Теперь вместе с помещенными функциями и циклом index.php будут походить на это:

<div id="main">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
main
<?php endwhile; else: ?>
<?php endif; ?>
</div> <!– close main –>

    Теперь мы сосредоточимся на цикле. В цикле мы сделаем три отделения. Это будет использовано для того, чтобы вывести заголовок сообщения (поста), его содержание, дату и т.д. Помните, мы работаем в теле цикла! Помешаем <div> (для стилей) в наш цикл:

<div class=”post_title”>
Здесь будет выведен заголовок сообщения (post title here)
</div> <!– close post title –>
<div class=”post_content”>
Здесь будет содержание сообщения - контент(post content here)
</div> <!– close post content –>
<div class=”post_tag”>
Здесь будут различные теги (post tag here)
</div> <!– close post tag –>

Теперь наш цикл похож на это:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="post_title">
post title here
</div> <!– close post title –>
<div class="post_content">
post content here
</div> <!– close post content –>
<div class="post_tag">
post tag here
</div> <!– close post tag –>
<?php endwhile; else: ?>
<?php endif; ?>

    Заголовок сообщения (поста)

    Для заголовка нашего поста, мы будем использовать следующие функции.
<? php the_ID ();?> - Вызывают id гашего поста, чтобы вставить id в наш post_title
<? php the_permalink ()?> - Вызывают url нашего записи
<? php the_title ();?> - название нашего поста
В post_title классе, мы создаем названия нашего поста с ссылкой на него. Для этого используем- HTML + код PHP.

<a href=”<?php the_permalink() ?>” rel=”bookmark” title=”Permanent Link to <?php the_title(); ?>”><?php the_title(); ?></a>

Теперь вставляем функции заголовка записи в <div class="post_title">.

<div class="post_title" id="<?php the_ID(); ?>">
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a>
</div> <!– close post title –>

Содержание записи

    В содержании, мы только нуждаемся в одной функции, чтобы вызвать содержание нашего поста. Функцию, которую мы будем использовать, - это.
<?php the_content(__(’Read more…’)); ?>
Обратите внимание вы можете заменить “Read more…” на что-нибудь другое, например, "Читать далее..."

<div class="post_content">
<?php the_content(__(?Read more…’)); ?>
</div> <!– close post content –>

Тэги записи и дополнительная информация

    В тэгах сообщения, я обычно помещал дату, время, категорию и ссылку на комментарии. п я также помещал ссылку, чтобы редактировать пост (только для авторизованных пользователей, имеющих право редактировать). Вот эти функции:
<?php the_time(’F dS, Y’) ?> - Вызывает дату поста
<?php the_time(’h:i a’); ?> - Вызывает время
<?php the_category(’, ?) ?> - Вызывает категорию записи
<?php comments_popup_link(’No Comments’, ?1 Comment’, ?% Comments’); ?> - Ссылка на комментарии с указанием их числа
<?php edit_post_link(’Edit’,”,”); ?> - Ссылка на редактирование
Мы вставляем эти функции в post_tag div.

<div class="post_tag">
<?php the_time(?F dS, Y’) ?> | <?php the_time(?h:i a’); ?> | <?php the_category(?, ?) ?> | <?php comments_popup_link(?No Comments’, ?1 Comment’, ?% Comments’); ?> | <?php edit_post_link(?Edit’,”,”); ?>
</div> <!– close post tag –>

Вызываем комментарии

    Теперь нам необходимо вызвать комментарии (подробно это будет рассмотрено в следующей записи). Для этого <?php comments_template(); ?> мы помещаем перед <?php endwhile; else: ?>

404 ошибка

Возможно некоторые из вас задаются вопросом мы почему мы нуждаемся “else: (англ. еще)” в <?php endwhile; else: ?>. Это сделано на тот случай, если запись будет недоступна. Тогда мы сможем вывести соответствующий текст. Вот примерный код:

<?php endwhile; else: ?>
Вставляем любое сообщение об ошибке! (Sorry, but you are looking for something that isn?t here.)
<?php endif; ?>

В итоге наш index.php должен выглядеть примерно так:

<?php get_header(); ?>
<div id="main">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="post_title" id="<?php the_ID(); ?>">
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a>
</div> <!– close post title –>
<div class="post_content">
<?php the_content(__(?Read more…’)); ?>
</div> <!– close post content –>
<div class="post_tag">
<?php the_time(?F dS, Y’) ?> | <?php the_time(?h:i a’); ?> | <?php the_category(?, ?) ?> | <?php comments_popup_link(?No Comments’, ?1 Comment’, ?% Comments’); ?> | <?php edit_post_link(?Edit’,”,”); ?>
</div> <!– close post tag –>
<?php comments_template(); ?>
<?php endwhile; else: ?>
Sorry, but you are looking for something that isn?t here.
<?php endif; ?>
</div> <!– close main –>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

    Вы читаете третью часть статьи "Как создавать свои темя для WordPress". Для того, чтобы ознакомиться с другими частями нажмите на ссылки ниже.
· Часть 1 - Слои (Layout)
· Часть 2 - Заголовок (Header)
· Часть 3 - пндекс (Index)
· Часть 4 - Комментарий (Comment)
· Часть 5 - Меню блога (Sidebar)
· Часть 6 - Нижний колонтитул - подвал (Footer)
· Часть 7 - Финиш! (Последние доводки и советы)

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Информация