<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

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

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Custom post type в Wordpress

Custom post type в Wordpress

На сегодняшнем уроке мы познакомимся с понятием custom post type, а также научимся создавать свой кастомный post type и шаблон для него. Custom post type это одно из основных направлений в WordPress, с которым работают разработчики.

В WordPress-е блоге посты и страницы - все это post type и чтобы расширить функционал, разработчику нужно добавлять новые post type. Например у вас сайт для продажи книг, вы же не будете публиковать эти книги, как блог-посты. Для этого вы создадите новый post type с названием "book", у которого будет свой внешний вид, свой шаблон и свои настройки.

Сегодня мы создадим свой post type под названием "book", который будет иметь кастомный шаблон для публичного поста и для страницы с архивами. Давайте сначала ознакомимся с документацией WordPress - Codex/Post Type. Первым делом в кодексе перечислены все названия в (Default Post Types), которые мы не можем использовать при регистрации новых названий постов.

Для создания кастомных постов в WordPress существует специальная функция - register_post_type(). Разберем на примере ниже.

Custom post type в Wordpress

Функция register_post_type подключается к ядру WordPress-а при помощи другой функции-хука - add_action. Хук это крючок, за который мы цепляем нашу функцию к ядру WordPress, который при инициализации своих функций, добавляет и нашу.

Давайте попробуем зарегистрировать наш post type, скопируем кусок кода из примера выше и вставим его в файл function.php, стартовой темы underscore, которую мы установили на прошлом уроке и назвали my_theme - "Файлы темы Wordpress". Сделать это можно через админку WordPress-а в теме, Внешний вид / Редактор, открываете файл function.php и вставляете код из кодекса внизу документа.

Custom post type в Wordpress

Разберем подробнее этот код. WordPress регистрирует post type при помощи функции register_post_type. В круглых скобках передаются параметры, первый параметр acme_product - это id нового типа поста, который мы меняем на свой book.

register_post_type( 'book',

За ним идет параметр, который получает эта функция, это массив настроек, в примере их всего три, а в документации гораздо больше. Переименуем "Products" на "books", а "Product" на "book".

array(
  'labels' => array(
  'name' => __( 'books' ),
  'singular_name' => __( 'book' )
),

Public означает, что пост публичный, его видят все и он попадает в архив has_archive.

'public' => true,
'has_archive' => true,
)

Обязательно выше кода пропишите комментарии, что это за код, чтобы самим потом не забыть, зачем вы туда его поставили.

/**
* My blog custome code.
*/

Сохраняем пост идем в консоль админки и видим новый тип поста book, однако он с минимальным количеством настроек.

Custom post type в Wordpress

На странице codex вы увидите полный список настроек. Нам надо добавить возможность добавления превью-картинки, передадим в массиве параметр 'thumbnail'. Кроме того, вернем назад title и editor.

'supports' => array('title', 'editor', 'thumbnail'),

Точно так же можно добавлять и другие настройки из документации. Рекомендуется для пользовательских названий, в том числе и для post type применять префиксы (my_book), чтобы избежать конфликта с другими плагинами, ведь названия могут совпасть. Для избежания ошибок WordPress рекомендует все вами разработанные функции, переменные, id, классы и константы прописывать с префиксами.

Кастомный шаблон для нового post type

Создадим два поста в новом типе записей book с названиями Book 1 и Book 2 и откроем сайт по адресу http://my_blog.com/book/.

Custom post type в Wordpress

Мы видим, что загрузился нами созданный post type book, а не дефолтный post type WordPress-а, но загружаются все равно старый archive.php, а нам надо создать свой, вместо дефолтного. Мы хотим, чтобы книги не находились в блог постах, а выглядели иначе, без типичной блоговой структуры. Создадим пустой файл archive-book.php и подключим к нему шапку,

<?php
get_header();
?>

подвал

<?php
get_footer();
?>

и сделаем вывод контента в цикле, скопировав код из раздела документации Post_Types, заменив 'product' на 'book'.

<?php
$args = array( 'post_type' => 'book', 'posts_per_page' => 10 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
  the_title();
  echo '<div class="entry-content">';
  the_content();
  echo '</div>';
endwhile;
?>

Аналогичный действия надо сделать и для файла single.php.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.