Languages: English • Formats 日本語 Русский • 中文(简体) • (Add your language)
Формат записи — это функция темы оформления, появившаяся в версии 3.1, Форматы представляют собой метаданные, которые можно использовать в темах для настройки представления записи. Основная идея в том, чтобы иметь возможность явно указать «формат» отображения записи. Это позволяет не использовать с той же целью рубрики, а главное — обеспечивает совместимость со всеми темами, которые поддерживают эти форматы.
Например, раньше для отображения заметок создавалась рубрика «Asides» и в неё помещались записи, которые затем оформлялись по-другому с помощью функции post_class() или условия in_category('asides'). Новый подход позволяет теме зарегистрировать особый формат (например, add_theme_support('post-formats', array('aside'))), который можно будет выбрать в блоке «Опубликовать» при сохранении записи. Для определения формата можно воспользоваться функцией get_post_format( $post->ID ), а функция post_class() добавит класс «format-asides», который пригодится в оформлении с помощью CSS.
Поддерживаются следующие форматы записей:
Иван: привет Маша: привет Иван: как дела?
Замечание: Надпись «Стандартный» при создании или редактировании записи означает, что её формат не указан. Кроме того, если указанный формат некорректен, будет использован стандартный.
|
|
Чтобы сообщить WordPress о поддерживаемых форматах записей, темы должны использовать функцию add_theme_support() в файле functions.php, передавая массив аргументов. Например:
add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );
В самой теме для проверки формата записи нужно использовать функцию get_post_format() и менять представление в соответствии с результатами. Обратите внимание, что записи с форматом по умолчанию вернут значение FALSE. Также можно использовать условный тег has_post_format():
if ( has_post_format( 'video' )) { echo 'это формат видеозаписи'; }
Если ваш плагин или тема должны быть совместимы с более ранними версиями WordPress, нужно добавить в таксономию post_format элементы post-format-$format. Например:
wp_insert_term('post-format-aside', 'post_format');
Вы также должны зарегистрировать таксономию post_format с помощью функции register_taxonomy().
Форматы записей: set_post_format(), get_post_format(), has_post_format()