Как создавать пользовательские типы записей WordPress и управлять ими?

Опубликовано: 2022-09-15
Содержание скрыть
1. Что такое настраиваемый тип записи WordPress?
2. Как создавать пользовательские типы записей WordPress?
2.1. Создание пользовательских типов записей WordPress с помощью плагина
2.2. Создание пользовательского типа записи вручную
3. Отображение пользовательских типов сообщений на вашем сайте
3.1. Отображение пользовательских типов сообщений с использованием шаблона архива по умолчанию
3.2. Создание пользовательских шаблонов типов сообщений
3.3. Отображение пользовательских типов сообщений на главной странице
3.4. Запрос пользовательских типов сообщений
3.5. Отображение пользовательских типов записей в виджетах
4. Как управлять сотнями типов записей WordPress (включая настраиваемые типы записей) из одного места?
4.1. Управляйте сотнями типов записей с помощью Smart Manager (приложения)
4.1.1. Управление типом сообщения о продуктах
4.1.2. Управление заказами, купонами, подписками…
5. Заключение

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

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

Давайте начнем.

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

По сути, типы сообщений относятся к различным типам контента на сайте WordPress.

Когда вы устанавливаете WordPress, вы получаете только пять типов записей по умолчанию: запись, страница, вложение, редакция и меню. Хорошая новость заключается в том, что сегодня WordPress достаточно гибок и позволяет создавать собственные типы записей. И, следовательно, эти типы сообщений известны как настраиваемые типы сообщений.

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

Например, если вы запускаете сайт членства, вам нужно добавить настраиваемый тип записи под названием «Членство».

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

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

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

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

Есть два способа создать собственный тип записи:

  1. Использование плагинов
  2. Вручную

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

Для неспециалистов и новичков этот вариант прост и безопасен.

Мы рекомендуем использовать самый популярный плагин Custom Post Type UI, который имеет более 1 миллиона активных установок . Плагин предоставляет простой в использовании интерфейс для регистрации и управления пользовательскими типами сообщений и таксономиями для вашего веб-сайта.

После установки и активации плагина перейдите в WordPress Admin panel > CPT UI > Add / Edit Post Types , чтобы создать новый настраиваемый тип сообщений. Вы должны быть на вкладке « Add New Post Type ».

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

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

Затем нажмите на ссылку Populate additional labels based on chosen labels . Это автоматически заполнит дополнительные поля ярлыков внизу и, в свою очередь, сэкономит ваше время.

Теперь прокрутите вниз до раздела « Additional Labels ». В случае, если вы не нажали ссылку выше, вам нужно будет предоставить описание для вашего типа сообщения и изменить ярлыки.

дополнительные поля пользовательского типа записи

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

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

пользовательские настройки типа записи

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

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

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

функции редактора постов

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

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

Создание пользовательского типа записи вручную

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

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

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

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

// Наша пользовательская функция типа записи
функция create_posttype() {
  
    register_post_type('события',
    // Опции СРТ
        множество(
            'метки' => массив(
                'имя' => __('События'),
                'singular_name' => __('Событие')
            ),
            'общедоступный' => правда,
            'has_archive' => правда,
            'переписать' => массив ('слаг' => 'события'),
            'show_in_rest' => правда,
  
        )
    );
}
// Подключаем нашу функцию к настройке темы
add_action('init', 'create_posttype');

Этот фрагмент кода регистрирует events типа записи с помощью массива аргументов. Эти аргументы являются параметрами нашего пользовательского типа записи.

Массив состоит из двух частей. Первая часть помечена и сама является массивом. Вторая часть содержит другие аргументы, такие как общедоступная видимость, 'has_archive, slug и show_in_rest, что включает поддержку редактора блоков.

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

/*
* Создание функции для создания нашего CPT
*/
  
функция custom_post_type() {
  
// Установить метки пользовательского интерфейса для пользовательского типа записи
    $метки = массив(
        'name' => _x('События', 'Общее имя типа сообщения', 'twentytwentyone'),
        'singular_name' => _x('Событие', 'Тип сообщения в единственном числе', 'twentytwentyone'),
        'menu_name' => __('События', 'двадцать-двадцать один'),
        'parent_item_colon' => __('Родительское событие', 'двадцать-двадцать один'),
        'all_items' => __('Все события', 'двадцать-двадцать один'),
        'view_item' => __('Просмотреть событие', 'двадцать-двадцать один'),
        'add_new_item' => __('Добавить новое событие, 'twentytwentyone'),
        'add_new' => __('Добавить новый', 'двадцать-двадцать один'),
        'edit_item' => __('Редактировать событие', 'двадцать-двадцать один'),
        'update_item' => __('Событие обновления', 'двадцать-двадцать один'),
        'search_items' => __('Событие поиска', 'двадцать-двадцать один'),
        'not_found' => __('Не найдено', 'двадцать-двадцать один'),
        'not_found_in_trash' => __('Не найдено в корзине', 'twentytwentyone'),
    );
      
// Установить другие параметры для пользовательского типа записи
      
    $аргументы = массив(
        'метка' => __('События', 'двадцать-двадцать один'),
        'description' => __('Данные события', 'двадцать-двадцать один'),
        'метки' => $метки,
        // Возможности, которые этот CPT поддерживает в редакторе сообщений
        'supports' => array( 'название', 'редактор', 'отрывок', 'автор', 'миниатюра', 'комментарии', 'редакции', 'настраиваемые поля', ),
        // Вы можете связать этот CPT с таксономией или пользовательской таксономией. 
        'таксономии' => массив ('жанры'),
        /* Иерархический CPT подобен Pages и может иметь
        * Родительские и дочерние элементы. Неиерархический CPT
        * похож на сообщения.
        */
        'иерархический' => ложь,
        'общедоступный' => правда,
        'show_ui' => правда,
        'show_in_menu' => правда,
        'show_in_nav_menus' => правда,
        'show_in_admin_bar' => правда,
        'меню_позиция' => 5,
        'can_export' => правда,
        'has_archive' => правда,
        'exclude_from_search' => ложь,
        'public_queryable' => правда,
        'capability_type' => 'сообщение',
        'show_in_rest' => правда,
  
    );
      
    // Регистрация вашего пользовательского типа записи
    register_post_type('события', $args);
  
}
  
/* Подключиться к действию 'init', чтобы функция
* Содержащие нашу регистрацию типа сообщения не являются 
* без необходимости выполнено. 
*/
  
add_action('init', 'custom_post_type', 0);

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

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

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

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

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

После того, как вы создадите тип сообщения, вам нужно показать его своим посетителям на веб-сайте.

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

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

Отображение пользовательских типов сообщений с использованием шаблона архива по умолчанию

Перейдите в WordPress admin panel > Appearance > Menus и добавьте пользовательскую ссылку в свое меню. Эта пользовательская ссылка является ссылкой на ваш пользовательский тип сообщения.

Если вы используете оптимизированные для SEO постоянные ссылки, то URL-адрес вашего пользовательского типа сообщения будет примерно таким: http://example.com/events.

Если вы не используете оптимизированные для SEO постоянные ссылки, URL-адрес вашего пользовательского типа публикации будет примерно таким:
http://example.com/?post_type=events.

Не забудьте заменить «example.com» на ваше собственное доменное имя, а «events» — на имя вашего пользовательского типа сообщений.

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

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

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

Второй способ отображения пользовательских типов записей — использование специального шаблона для архивов пользовательских типов записей.

Все, что вам нужно сделать, это создать новый файл в каталоге вашей темы и назвать его archive-events.php . Убедитесь, что вы заменили «события» на имя вашего пользовательского типа сообщений.

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

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

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

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

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

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

Просто добавьте этот код в файл functions.php вашей темы или в плагин для конкретного сайта.

add_action('pre_get_posts', 'add_my_post_types_to_query');
  
функция add_my_post_types_to_query($query) {
    если ( is_home() && $query->is_main_query() )
        $query->set('post_type', array('post', 'events'));
    вернуть $запрос;
}

Не забудьте заменить «события» вашим типом записи.

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

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

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

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

<?php
$args = array('post_type' => 'events', 'posts_per_page' => 10);
$the_query = новый WP_Query($args);
если ($the_query->have_posts()):
   в то время как ($the_query->have_posts()):
      $the_query->the_post(); ?>
      <h2><?php the_title(); ?></h2>
      <div class="entry-content">
         <?php the_content(); ?> 
      </div>
    <?php в конце;
    wp_reset_postdata();
иначе: ?>
<p><?php _e('Извините, нет сообщений, соответствующих вашим критериям.'); ?></p>
<?php конец; ?>

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

Отображение пользовательских типов записей в виджетах

В этом случае вы можете использовать плагин Custom Post Type Widgets.

Перейдите в WordPress admin panel > Appearance > Widgets и перетащите виджет «Последние сообщения (пользовательский тип сообщения)» на боковую панель.

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

После этого обязательно нажмите кнопку «Обновить» в верхней части экрана, а затем перейдите на свой веб-сайт, чтобы увидеть виджет в действии.

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

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

Теперь давайте перейдем к очень важному, но интересному разделу об управлении пользовательскими типами записей в WordPress.

Как управлять сотнями типов записей WordPress (включая настраиваемые типы записей) из одного места?

Теперь вас ждет угощение.

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

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

Итак, что, если бы вы могли управлять и редактировать все эти типы записей WordPress из одного места, используя знакомую электронную таблицу, похожую на Excel?

Плагин Smart Manager определенно то, что вам нужно.

Управляйте сотнями типов записей с помощью Smart Manager (приложения)

С помощью Smart Manager вы можете сделать

Вскоре вы также сможете хорошо управлять пользовательскими таксономиями.

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

Управление типом сообщения о продуктах

Панель продуктов WooCommerce Smart Manager

Например, вот панель инструментов для типа сообщения о продукте. Для продуктов вы можете:

  • Непосредственно редактируйте состояние запасов, обычную цену и цену со скидкой, описание и другие детали.
  • Добавляйте новые продукты прямо в сетку Smart Manager
  • Примените фильтры расширенного поиска, чтобы получить желаемые продукты, например «товары в ценовом диапазоне от 100 до 200 долларов».
  • Массовое редактирование этих шестидесяти продуктов для снижения цены на 10%
  • Удалить тестовые продукты навсегда
  • Дублируйте все свои продукты или на основе фильтров
  • Экспорт данных о товарах в CSV
  • Создайте настраиваемое представление, например панель управления журналом запасов.

и многое другое…

Дополнительные сведения об операциях, связанных с продуктом, см. в документации Smart Manager.

Управление заказами, купонами, подписками…

Выберите панель инструментов для типа сообщения и начните редактировать все поля, включая настраиваемые поля, как вы делали это для продуктов:

  • Сообщения и страницы — заголовок, изображение, обновление статуса сообщения с черновика на публикацию и т. д.
  • Заказы — изменить статус, платежные реквизиты, поля доставки, валюту и т. д.
  • Купоны — изменение использования купона, суммы, типа, даты истечения срока действия, удаление купонов и т. д.
  • Пользователи (Клиенты) — просмотр общей стоимости, редактирование сведений о выставлении счетов и доставке, изменение учетных данных и т. д.
  • Медиа — название, содержание, отрывок, автор, порядок меню и т. д.
  • Членство — экспортируйте все данные о членстве, массово обновляйте планы членства, отменяйте статусы членства и т. д.
  • Подписки — повторно активируйте или отмените массовые подписки, продлите бесплатную пробную версию, уменьшите плату за регистрацию, добавьте стоимость доставки и т. д.
  • Бронирования — изменить цену бронирования, перенести, отменить, экспортировать и т. д.
  • Дополнительные параметры продукта — добавьте варианты доставки, добавьте варианты подарочной упаковки, покажите параметры настройки, продайте более высокие планы и т. д.
  • Дропшиппинг — управляйте поставщиками, ценами на товары, состоянием запасов и т. д.
  • Мультивендоры — добавляйте новых поставщиков, редактируйте отгрузки, налоговый класс, статусы комиссионных, примечания клиентов, отмечайте заказы и т. д.
  • LMS — управляйте и редактируйте курсы, уроки, их продолжительность и сложность, дублируйте курсы и т. д.
  • Расширенные настраиваемые поля — добавляйте, редактируйте и удаляйте все типы полей, такие как эскизы, переключатели, флажки, диапазоны, файлы и т. д.

и сотни типов сообщений…

Довольно гибкий и крутой, правда?

Попробуйте живую демонстрацию

Вывод

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

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

Я уверен, что вы поблагодарите меня позже.