+7(982) 597-7179

Как создать тему на wordpress (Часть 3)

Начинаем  заключительную часть нашего урока. В этой части мы познакомимся с записями в wordpress.

Если вы пропустили первые два урока, то можете почитать их тут:

Первый урок

Второй урок

На самом деле для построения записей нам ничего не надо. Все недостающие файлы наша CMS добавит сама.

Войдите в консоли «Внешний вид — меню», добавьте рубрику в меню.

1

Сохраните и меню и перейдите на ваш сайт. Пройдя по ссылке, вы увидите, список ваших статей.

Если у вас нет статей, то создайте их. В административной панели «Записи» будет список ваших записей. Добавьте необходимое количество.

 

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

 

Для этого создадим три файла в папке с нашей темой:

 

Category.php – Вывод списка наших статей

Loop.php – Шаблон отображения статьи в списке статей файла category.php

Single.php – вид одиночной записи.

 

Начнем с файла Category.php

<?php
/**
 * Шаблон рубрики (category.php)
 */
get_header(); // подключаем header.php ?> 
<div class="row"> 
<div class="content">
	<h1><?php wp_title(''); // Заголовок категории ?></h1>
	<?php if (have_posts()) : while (have_posts()) : the_post(); // если посты есть - запускаем цикл wp ?>
		<?php get_template_part('loop'); // для отображения каждой записи берем шаблон loop.php ?>
	<?php endwhile; // конец цикла
	else: echo '<h2>Нет записей.</h2>'; endif; // если записей нет, напишим "простите" ?>	 
	 
</div>
<aside>
<?php dynamic_sidebar('right-sidebar'); // выводим сайдбар, имя определено в function.php ?>
</aside>
</div>
 
<?php get_footer(); // подключаем footer.php ?>

Затем добавим файл Loop.php

<?php
/*
 * Запись в цикле (loop.php)
 */ 
?>
	<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <?php // контэйнер с классами и id ?>
		<span><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></span> <?php // заголовок поста и ссылка на его полное отображение (single.php) ?>
		<div class="meta">
			<p>Опубликовано: <?php the_time('F j, Y'); ?> в <?php the_time('g:i a'); ?></p> <?php // дата и время создания ?>
			<p>Категории: <?php the_category(',') ?></p> <?php // ссылки на категории в которых опубликован пост, через зпт ?>
			 <p>Автор: <?php the_author() ?></p>
		</div>
		<?php if ( has_post_thumbnail() ) the_post_thumbnail(); // выводим миниатюру поста, если есть ?>
		<?php the_content(''); // пост превью, до more ?>
	</article>

Для поддержки миниатюр вашей темой нужно в файл function.php добавить код:

 

add_theme_support('post-thumbnails'); // включаем поддержку миниатюр
set_post_thumbnail_size(250, 150); // задаем размер миниатюрам 250x150
add_image_size('big-thumb', 400, 400, true); // добавляем еще один размер картинкам 400x400 с обрезкой

Добавляйте его перед закрывающим тегом «?>».

 

Теперь вы можете к вашим записям добавить миниатюру. В редакторе записи справа появится пункт «Миниатюра». Добавьте к любой записи.

 

Теперь в списке статей у вас появятся миниатюры.

 

Создадим файл Single.php

 

<?php
/**
 * Шаблон отдельной записи (single.php)
 */
get_header(); // подключаем header.php ?>
<div class="row"> 
<div class="content">
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); // старт цикла ?>
	<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <?php // контэйнер с классами и id ?>
		<h1><?php the_title(); // заголовок поста ?></h1>
		<div class="meta">
			<p>Опубликовано: <?php the_time('F j, Y'); ?> в <?php the_time('g:i a'); ?></p> <?php // дата и время создания ?>
			<p>Категории: <?php the_category(',') ?></p> <?php // ссылки на категории в которых опубликован пост, через зпт ?>
			<?php the_tags('<p>Тэги: ', ',', '</p>'); // ссылки на тэги поста ?>
		</div>
		<?php the_content(); // контент ?>
	</article>
<?php endwhile; // конец цикла ?>
<?php previous_post_link('%link', '<- Предыдущий пост: %title', TRUE); // ссылка на предыдущий пост ?> 
<?php next_post_link('%link', 'Следующий пост: %title ->', TRUE); // ссылка на следующий пост ?> 
<?php if (comments_open() || get_comments_number()) comments_template('', true); // если комментирование открыто - мы покажем список комментариев и форму, если закрыто, но кол-во комментов > 0 - покажем только список комментариев ?>
</div>
<aside>
<?php dynamic_sidebar('right-sidebar'); // выводим сайдбар, имя определено в function.php ?>
</aside>
</div>
 
<?php get_footer(); // подключаем footer.php ?>

Перейдем по ссылке к нашей записи. Мы видим саму запись, комментарии (если есть), так же возможность комментирования, если открыта такая возможность. Для каждой записи вы можете открыть или закрыть комментарии в настройках системы.

 

На этом наш урок подходит к концу.

 

И так, подведем итоги 3 частей уроков. Мы научились:

  1. Разобраться в структуре шаблона.
  2. Создавать страницы и записи.
  3. Оформлять нашу тему.

 

Теперь вы сами сможете создать полноценный сайт. Надеюсь, наши уроки помогут вам в освоении довольно гибкой CMS системы WordPress и вы будете дальше развивать свои навыки в создании сайтов.

Я с радостью отвечу на любые ваши вопросы.


Приглашаем поучавствовать в обсуждении статьи:

Комментариев 1
  • WilliamOt ⋅ 2 года назад

    Очень хороший пост на сайте. Действительно помог.

    Ответить

Войти с помощью: