Введение в пользовательские типы сообщений

Введение в пользовательские типы сообщений
Большинство людей, которые работают с WordPress, уже слышали о настраиваемых типах записей. К сожалению, лишь немногие веб-дизайнеры и блоггеры знают, что это за функция и как ею пользоваться. Пользовательские типы записей — это что-то вроде вишенки на торте и одна из причин популярности WordPress. Давайте посмотрим на настраиваемые типы сообщений и посмотрим, что вы можете с ними делать.

WordPress-пользовательские типы сообщений

Что такое настраиваемые типы сообщений?

WordPress — самая популярная система управления контентом в мире, одной из причин которой является ее настраиваемость и гибкость. В принципе, вы можете делать все, что только можете придумать, и настраиваемые типы сообщений — один из способов добиться этого.

WordPress предлагает несколько типов записей из коробки. Это:

  • Сообщение (тип сообщения: ‘сообщение’)
  • Страница (тип сообщения: «страница»)
  • Вложение (тип сообщения: «вложение»)
  • Ревизия (тип сообщения: «редакция»)
  • Меню навигации (тип сообщения: ‘nav_menu_item’)

Пользовательский тип поста — это не что иное, как расширение, дополнительный тип поста с другим набором данных. Однако это не ограничивается определенным типом контента, таким как статическая страница или динамическая запись в блоге. Таким образом, пользовательский тип записи может отображать любой тип контента, даже если не имеет смысла отображать статический контент, поскольку страницы здесь работают намного лучше.

Пользовательский тип страницы лучше всего работает с другим динамичный (помимо статей в блогах) тип контента, например, портфолио, интегрированное в тему. Несмотря на то, что портфолио кажется статичным, на самом деле оно имеет такое же динамическое поведение, как и блог, поскольку со временем добавляются новые записи.

Пользовательские таксономии

Пользовательские таксономии — это что-то вроде подфункции пользовательских типов записей. Это механизм для классификации пользовательских типов сообщений и пометки их ключевыми словами. Это категории и/или теги для пользовательских типов записей WordPress. Создание пользовательских таксономий очень просто. Мы вернемся к этому позже в статье. Однако пользовательские таксономии гораздо более универсальны, чем может быть описано в этой статье. Но это тема для другой статьи.

Пользовательские типы сообщений в использовании

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

Регистрация пользовательских типов сообщений

Добавьте следующий код в конце functions.php вашей темы (wp-content/themes/ваша тема).

/**
*
* Registration of our custom post type "Portfolio"
*
*/

function ah_custom_post_type() {

$labels = array(
'name' => 'Portfolio entries',
'singular_name' => 'Portfolio',
'menu_name' => 'Portfolio',
'parent_item_colon' => '',
'all_items' => 'All entries',
'view_item' => 'View entries',
'add_new_item' => 'New entry',
'add_new' => 'Add',
'edit_item' => 'Edit entry',
'update_item' => 'Update entry',
'search_items' => '',
'not_found' => '',
'not_found_in_trash' => '',
);
$rewrite = array(
'slug' => 'portfolio',
'with_front' => true,
'pages' => true,
'feeds' => true,
);
$args = array(
'labels' => $labels,
'supports' => array( 'title', 'editor', 'excerpt', 'thumbnail', 'comments', 'trackbacks', ),
'taxonomies' => array( 'category', 'post_tag' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'menu_position' => 5,
'can_export' => false,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'rewrite' => $rewrite,
'capability_type' => 'page',
);
register_post_type( 'portfolio', $args );

}

// Hook into the 'init' action
add_action( 'init', 'ah_custom_post_type', 0 );

Несколько слов о Кодексе

Самая верхняя часть до $rewrite отвечает за расширенное меню администратора. Средняя часть создает постоянную ссылку с слагом «портфолио». Нижняя часть кода определяет, что поддерживаются отдельные части, например, заголовок, редактор, выдержка, изображение статьи и комментарии.

В вашем разделе администратора WordPress появился новый пункт меню «Портфолио» с подменю «Категории» и «Ключевые слова».

портфолио пользовательского типа поста

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

Необходимые шаблоны для пользовательского типа сообщений

Механизм шаблонов WordPress автоматически распознает шаблоны для этого типа сообщений, если они имеют формат одиночный-posttype.php за один пост и архив-posttype.php для сводной страницы. В зависимости от того, насколько всеобъемлющим будет ваш проект, вам потребуется создать один или два шаблона. Назовите один один портфолио.php а другой архив-portfolio.php.

В этом примере мы создадим шаблон архив-portfolio.php для отображения всех записей портфолио на одной странице.

Показать пользовательский тип сообщения

Создайте новую пустую страницу в любом редакторе и назовите ее архив-portfolio.php. Теперь скопируйте содержимое вашего page.php (или index.php) и вставьте его в новый шаблон. Затем измените описание шаблона на следующее:

Now it's important to tell the template which type of content will be displayed. To do this, paste the following code above the loop:

'portfolio')); ?>

архив-prtfolio-php

Важно знать

Перейдите в пункт меню «Настройки => Постоянные ссылки» и снова сохраните свои постоянные ссылки. Если вы этого не сделаете, вы, скорее всего, увидите ошибку 404 при звонке. www.ваш-сайт.com/portfolio/. После сохранения постоянных ссылок сайт вызывается без проблем.

портфолио-eintrag

Поскольку страницы «Портфолио» физически не существует (но ее можно вызвать), необходимо вручную настроить этот пункт меню с функцией «Ссылки».

менупункт-хендиш-хинзуфуген

Другой способ — создать новую пустую страницу с заголовком портфолио и выберите шаблон «Шаблон архивного портфолио». Это автоматически генерирует необходимый пункт меню:

menuepunkt-portfolio-generieren

Заключение

С помощью настраиваемых типов записей вы можете легко добавлять функции в WordPress. Ограничений для вашего творчества практически нет. Они также могут справиться с комплексными задачами. Хорошим примером является веб-сайт поставщика премиальных тем WordPress WooThemes.com, где пункт меню «Темы» был реализован таким образом; однако он имеет гораздо более сложную структуру.

Ссылки по теме