<MyRusakov.ru />

Профессия Web-разработчик

Профессия Web-разработчик

Этот комплект за 8 месяцев превратит Вас в Web-разработчика с нуля. Учиться достаточно 1 час в день.

Начнёте Вы с HTML, CSS и вёрстки сайтов. Потом перейдёте к программированию и JavaScript. Затем изучите PHP, MySQL, SQL, Python. Изучите Web-фреймворки Laravel и Django. Создадите 5 своих сайтов для портфолио.

Комплект содержит:

- 540 видеоуроков

- 110 часов видео

- 1205 заданий для закрепления материала из уроков

- 5 финальных тестов

- 7 сертификатов

- 12 Бонусных курсов

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

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

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

Подписавшись по 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):

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