Формат записи
Оригинальное название: post format
Коротко
Метка вида записи — заметка, цитата, ссылка, галерея, видео и другие, — по которой тема может оформить запись по-особому. Набор форматов фиксирован ядром.
Что такое «Формат записи»
Форматы появились в WordPress 3.1, когда блоги активно публиковали короткие посты в духе Tumblr: цитату, ссылку на интересную статью, одну фотографию. Такой записи не нужен заголовок и анонс — нужна подходящая подача. Формат сообщает теме, что перед ней, а тема решает, как это показать.
Какие форматы бывают
Список закрыт, придумать свой формат нельзя: aside (заметка), gallery, link, image, quote, status, video, audio, chat. Если формат не выбран, запись считается стандартной. Фиксированный набор сделан намеренно: запись с форматом «цитата» должна выглядеть цитатой в любой теме, которая форматы поддерживает.
Технически формат хранится как термин служебной таксономии post_format, например post-format-quote. Поэтому у каждого формата есть свой архив вида /type/quote/.
Как включить в теме
// functions.php
add_theme_support( 'post-formats', array( 'aside', 'quote', 'video' ) );
// в шаблоне вывода записи
get_template_part( 'template-parts/content', get_post_format() );
Первая строка показывает в редакторе выбор из трёх форматов. Вторая подключает нужную часть шаблона: для цитаты — content-quote.php, а если такого файла нет или формат не задан — общий content.php. Кроме того, функция post_class() добавляет записи CSS-класс вида format-quote, и простые различия можно сделать одними стилями. Проверить формат в коде помогают get_post_format() и has_post_format().
Формат, тип записи или рубрика
Эти понятия часто путают. Формат меняет только подачу внутри блога, запись остаётся обычной записью. Тип записи — отдельная сущность со своими полями и разделом в админке: товары, вакансии, проекты. Рубрика делит материалы по теме, а не по виду. Если нужен раздел «Видеообзоры» с отдельным списком и адресом, рубрика или свой тип подойдут лучше.
В блочных темах форматы почти не используют: вид записи задают блоки и шаблоны. Поддержка форматов в ядре сохраняется для совместимости, и тема по-прежнему может их включить.

