Как создать сайт или блог в 2020 году - бесплатное и простое руководство по созданию сайта

Как создать пользовательские типы записей в WordPress

Хотите узнать, как легко создавать собственные типы записей WordPress? Пользовательские типы записей превращают сайт WordPress из платформы для ведения блогов в мощную систему управления контентом (CMS).

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

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

Создание пользовательских типов сообщений на WordPress

Что такое пользовательский тип записи WordPress?

Пользовательские типы сообщений – это типы содержимого, такие как сообщения и страницы. Поскольку WordPress превратился из простой платформы для ведения блогов в надежную CMS, термин «пост» застрял. Однако тип публикации может быть любым типом контента.

По умолчанию WordPress поставляется с такими типами постов:

  • отправить
  • страница
  • Прикрепленный файл
  • обзор
  • Меню навигации

Вы можете создавать свои собственные типы сообщений и называть их по своему вкусу.

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

Другими примерами типов публикаций являются Портфолио, Отзывы, Продукты и т. Д.

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

  • WooCommerce – добавьте пользовательский тип публикации на свой сайт WordPress.

  • WPForms: создайте тип публикации wpforms для хранения всех ваших форм

  • MemberPress – добавить пользовательский тип сообщения memberpressproduct

Когда мне нужен пользовательский тип сообщения?

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

Смотрите также разделы Предложения и Глоссарий WPBeginner. Это типы пользовательских сообщений, которые мы создаем, чтобы отделить эти разделы от наших ежедневных статей в блогах. Это помогает нам лучше организовать контент нашего сайта.

Вы также заметите, что мы используем для них пользовательские таксономии вместо категорий или тегов.

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

Способ 1. Создать собственный тип сообщения: простой способ

Самый простой способ создать собственный тип поста WordPress – использовать плагин. Этот метод рекомендуется для начинающих, потому что он безопасен и очень прост.

Первое, что вы должны сделать, это установить и активировать плагин UI Custom Post Type. После активации плагин добавит новый пункт меню в свое меню администратора WordPress.

Теперь иди в CPT UI »Добавить новый создать новый пользовательский тип сообщения.

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

Во-первых, вам нужно предоставить слаг для вашего пользовательского типа поста. Этот слаг будет использоваться в URL и в запросах WordPress, поэтому он может содержать только буквы и цифры.

Кроме того, вы должны предоставить множественные и единственные имена для своего пользовательского типа сообщения.

Затем вы можете при желании щелкнуть ссылку «Заполнить дополнительные метки на основе выбранных меток». Это заполнит остальные поля тегов ниже.

Прокрутите вниз до раздела «Дополнительные теги», и отсюда вы можете предоставить описание для своего типа поста и изменить теги.

Теги типа сообщения

Теги будут использоваться во всем пользовательском интерфейсе WordPress при управлении контентом в этом конкретном типе записи.

Далее идет опция настройки типа сообщения. Отсюда вы можете настроить различные атрибуты для вашего типа публикации. Каждый вариант поставляется с кратким описанием, объясняющим, что он делает.

Настройка типа сообщения

Например, вы можете не делать тип поста иерархическим, как страницы, или хронологически возвращаться к постам.

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

Опции поддерживаются

Наконец, нажмите кнопку «Добавить тип сообщения», чтобы сохранить и создать свой собственный тип сообщения.

Вот и все, вы успешно создали свой собственный тип записи. Вы можете пойти дальше и начать добавлять контент.

Позже в этой статье мы покажем вам, как отобразить ваш собственный тип записи на вашем веб-сайте.

Создайте пользовательский тип сообщения вручную

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

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

Сначала мы покажем вам быстрый, полностью функциональный пример, чтобы вы поняли, как он работает. Посмотрите на этот код:

// Our custom post type function
function create_posttype() {

	register_post_type( 'movies',
	// CPT Options
		array(
			'labels' => array(
				'name' => __( 'Movies' ),
				'singular_name' => __( 'Movie' )
			),
			'public' => true,
			'has_archive' => true,
			'rewrite' => array('slug' => 'movies'),
			'show_in_rest' => true,

		)
	);
}
// Hooking up our function to theme setup
add_action( 'init', 'create_posttype' );

Этот код делает то, что он регистрирует тип фильма «фильмы» с различными аргументами. Эти аргументы являются опциями для нашего пользовательского типа записи.

Эта матрица состоит из двух частей, первая часть помечена, что само по себе является матрицей. Вторая часть содержит другие аргументы, такие как public visibility, в ней есть file, slug, а show_in_rest включает поддержку редактора блоков.

Теперь давайте посмотрим на подробный код, который добавляет больше опций к вашему типу поста.


/*
* Creating a function to create our CPT
*/

function custom_post_type() {

// Set UI labels for Custom Post Type
	$labels = array(
		'name'                => _x( 'Movies', 'Post Type General Name', 'twentytwenty' ),
		'singular_name'       => _x( 'Movie', 'Post Type Singular Name', 'twentytwenty' ),
		'menu_name'           => __( 'Movies', 'twentytwenty' ),
		'parent_item_colon'   => __( 'Parent Movie', 'twentytwenty' ),
		'all_items'           => __( 'All Movies', 'twentytwenty' ),
		'view_item'           => __( 'View Movie', 'twentytwenty' ),
		'add_new_item'        => __( 'Add New Movie', 'twentytwenty' ),
		'add_new'             => __( 'Add New', 'twentytwenty' ),
		'edit_item'           => __( 'Edit Movie', 'twentytwenty' ),
		'update_item'         => __( 'Update Movie', 'twentytwenty' ),
		'search_items'        => __( 'Search Movie', 'twentytwenty' ),
		'not_found'           => __( 'Not Found', 'twentytwenty' ),
		'not_found_in_trash'  => __( 'Not found in Trash', 'twentytwenty' ),
	);
	
// Set other options for Custom Post Type
	
	$args = array(
		'label'               => __( 'movies', 'twentytwenty' ),
		'description'         => __( 'Movie news and reviews', 'twentytwenty' ),
		'labels'              => $labels,
		// Features this CPT supports in Post Editor
		'supports'            => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
		// You can associate this CPT with a taxonomy or custom taxonomy. 
		'taxonomies'          => array( 'genres' ),
		/* A hierarchical CPT is like Pages and can have
		* Parent and child items. A non-hierarchical CPT
		* is like Posts.
		*/	
		'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'          => true,
		'has_archive'         => true,
		'exclude_from_search' => false,
		'publicly_queryable'  => true,
		'capability_type'     => 'post',
		'show_in_rest' => true,

	);
	
	// Registering your Custom Post Type
	register_post_type( 'movies', $args );

}

/* Hook into the 'init' action so that the function
* Containing our post type registration is not 
* unnecessarily executed. 
*/

add_action( 'init', 'custom_post_type', 0 );

Как вы можете видеть, мы добавили намного больше опций к пользовательскому типу поста с помощью этого кода. Это добавит больше функций, таких как поддержка обзора, избранные изображения, настраиваемые поля и многое другое.

Мы также связали этот тип пользовательских сообщений с пользовательской таксономией, называемой жанрами.

Вы также можете заметить ту часть, где мы установили иерархическое значение в false. Если вы хотите, чтобы ваш пользовательский тип записи вел себя как Страницы, вы можете установить для этого значения значение true.

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

Вы можете найти текстовый домен для вашей темы в файле style.css в каталоге вашей темы. Текстовый домен будет упомянут в заголовке файла.

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

WordPress поставляется со встроенной поддержкой для отображения пользовательских типов сообщений. После того как вы добавили несколько элементов в свой новый тип записи, пришло время показать их на вашем сайте.

Вы можете использовать несколько методов, каждый из которых имеет свои преимущества.

Просмотр пользовательского типа сообщения с шаблоном файла по умолчанию

Во-первых, вы можете просто перейти к Внешний вид »Меню и добавьте пользовательскую ссылку в ваше меню. Эта пользовательская ссылка является ссылкой на ваш тип сообщения.

Добавить тип сообщения в ваше меню навигации

Если вы используете SEO-совместимые постоянные ссылки, тогда ваш CPT URL будет выглядеть примерно так:

http://example.com/movies

Если вы не используете SEO-совместимые постоянные ссылки, ваш пользовательский тип записи URL будет выглядеть примерно так:

http://example.com/?post_type=movies

Не забудьте заменить example.com вашим собственным доменным именем, а фильмы – собственным именем типа поста.

Сохраните ваше меню, а затем перейдите на передний план вашего сайта. Вы увидите новое меню, которое вы добавили, и когда вы щелкнете по нему, оно отобразит вашу страницу файла настраиваемого типа записи, используя файл шаблона archive.php в вашей теме.

Использование пользовательских шаблонов для файлов CPT и отдельных записей

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

Для этого все, что вам нужно сделать, это создать новый файл в каталоге вашей темы и назвать его archive-movies.php. Замените фильмы названием вашего пользовательского типа записи.

Для начала вы можете скопировать содержимое файла archive.php вашей темы в шаблон archive-movies.php, а затем начать изменять его в соответствии с вашими потребностями.

Теперь при каждом доступе к странице архива для вашего пользовательского типа записи этот шаблон будет использоваться для его отображения.

Точно так же вы можете также создать собственный шаблон для единого отображения ввода вашего типа сообщения. Для этого вы должны создать файл single-movies.php в каталоге вашей темы. Не забудьте заменить фильмы названием вашего собственного типа поста.

Вы можете начать с копирования содержимого шаблона single.php вашей темы в шаблон single-movies.php, а затем начать изменять его в соответствии с вашими потребностями.

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

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

add_action( 'pre_get_posts', 'add_my_post_types_to_query' );

function add_my_post_types_to_query( $query ) {
	if ( is_home() && $query->is_main_query() )
		$query->set( 'post_type', array( 'post', 'movies' ) );
	return $query;
}

Не забудьте заменить фильмы на ваш собственный тип записи.

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

Если вы знакомы с кодированием и хотите запускать циклические запросы в своих шаблонах, то вот как это сделать (Связано: что такое цикл?).

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







Во-первых, в этом коде мы определили тип записи и количество постов на странице в аргументах нашего нового класса WP_Query.

После этого мы запускаем наш запрос, извлекаем сообщения и отображаем их внутри цикла.

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

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

Что делать, если вы хотите отображать последние сообщения из вновь созданного типа сообщения в виджете? Есть простой способ сделать это.

Первое, что вы должны сделать, это установить и активировать плагин Ultimate Posts Widget. После активации просто перейдите на Внешний вид »Виджеты и перетащите виджет Ultimate Posts на боковую панель.

Виджет окончательных сообщений

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

Настройте виджет, выбрав нужные параметры и выбрав собственный тип сообщения. После этого сохраните ваши изменения и увидите виджет в действии на вашем сайте.

Расширенные настройки пользовательских типов записей

Вы можете сделать гораздо больше со своими типами записей. Вы можете научиться добавлять свои собственные типы сообщений в основной канал RSS или создать отдельный канал для каждого пользовательского типа сообщений.

Чтобы получить дополнительные советы, ознакомьтесь с нашим списком самых полезных руководств по пользовательскому типу записей WordPress.

Если вы ищете решение без кода для настройки пользовательских архивных страниц типа записей, мы рекомендуем вам взглянуть на плагин WordPress для создания страниц, такой как Beaver Builder или Divi, потому что оба могут помочь вам в этом.

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

Если вам понравилась эта статья, подпишитесь на наш канал YouTube, чтобы посмотреть обучающие видеоролики WordPress. Вы также можете найти нас на Twitter и Facebook,