Настройка произвольного типа для портфолио — урок 25

Для создания страницы портфолио нам будет необходим новый тип данных, если вы еще не знаете что это такое, я немного расскажу вам. Изначально после установки WordPress имеет несколько произвольных типов (Записи, Страниц, Медиафайлы), мы с вами попробуем создать новый тип данных portfolio и добавим категории, такие же как в стандартных записях. Вообще хочу сказать что если есть возможность сделать что-то при помощи API CMS, то лучше использовать эту возможность.

В нашей теме в папке functions добавьте файл custom-type.php в нем мы будем хранить новые типы файлов и таксономии. Чтобы новый файл работал необходимо в файл functions.php вставить подключение созданного файла как показано на картинке ниже.

insert custom type file wordpress

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

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

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

Много рассказывать не буду, начну расписывать вам по порядку все атрибуты передаваемые в функцию.

Атрибуты функции register_post_type()

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

name custom post type wordpress cms

singular_name — имя типа данных в одиночном числе.

menu_name — имя нового типа в меню, в нашем случаи это portfolio.

menu name portfolio post type wordpress

parent_item_colon — метка для вывода родительской записи, пишем в одиночном числе.

all_items — метка для всех записей. По умолчанию для всех записей данного типа ‘Parent work:’.

view_item — текст для просмотра записи данного типа ‘View work’.

view wordpress custom post type portfolio

add_new_item — надпись на кнопку для добавления новой записи.

add_new — кнопка добавить новую запись рядом с заголовком.

wordpres add new button post

edit_item — заголовок для редактируемой записи.

edit wordpress title post

search_items — меняем надпись на то что нам необходимо.

wordpress search post types button

not_found — надпись по умолчанию, если нет записей данного типа.

wordpress not found post custom type

not_found_in_trash — надпись в пустой корзине «Записей не найдено».

wordpress not found tresh page

slug — ярлык в ссылке данного типа, важно сразу продумать, как его назвать.

wordpress portfolio slug custom post type

with_front — позволяет отображать более сильную ссылку. Если значение true то запись по ссылке будет отображаться так /news/, при false ссылка будет выглядеть так /blog/news/. Думаю правильно пока ставить по умолчанию true.

pages — по умолчанию true, по умолчанию разрешено постраничную навигацию для отдельных записей. Если этот параметр установлен в false, то вы не сможете воспользоваться коротким тегом (<!—nextpage—>) для вставки постраничной навигации внутри записи.

feeds — при помощи указания этого параметра в (true), мы можем определить будет ли данный тип данных отображаться в ленте rss.

label — метка типа данных в множественном числе.

description — краткое описание для типа данных.

supports — включение дополнительного функционала, этот же функционал можно включить и после создания типа данных при помощи функции add_post_type_support(). Рассмотрим все что можно включить при помощи этой функции.

title — заголовок поста.

wordpress custom type enable title

• editor (content) — отображает поле ввода для контента страницы.

wordpress content area enable• author — выбор автора из списка имеющихся пользователей.

wordpress custom post type author• thumbnail (featured image) — поддержка миниатюры записи.

wordpress fatured image enable in custom post type

• excerpt — активация области короткой записи. Кто не в курсе, если мы вводим эту область, то при выводе архива записей будет выводиться это текст. Очень полезно для SEO.

wordpress custom post type excerpt - курсы wordpress custom-fields  — включение метабокса с произвольными полями, о них мы еще будем говорить.
• comments — просмотр списка комментариев к статье оставленных другими и возможность оставлять самостоятельно в панели администратора.

wordpress comment metabox admin panel

page-attributes —  отображает атрибуты страницы, например порядок записей. Используется редко, видел использование всего раз в одном шаблоне, там это было действительно необходимо.

wordpress custom post atribut

• post-formats — добавляет форматы страницы, при необходимости в дальнейшем я расскажу о них.

hierarchical — включает и отключает пользовательскую иерархию. Пока нам этот пункт не понадобится.

public — определяет видимость пользовательского типа записи в панели администратора и в клиентской части.

menu_position — обозначает позицию произвольного типа в панели администратора.

wordpress post type menu position

show_ui — скрывает новый тип в панели администратора, как в меню, так и в админбаре. Работать с типом можно но только по средствам кода.

show_in_menu — скрывает новый тип только в пользовательском меню.

display type in wordpress menu

show_in_admin_bar — указываем отображать или не отображать произвольный тип в меню.

wordpress show in admin bar

В пункте 2 нет подменю для нового типа данных.

menu_icon — показывает путь к иконке для меню

wordpress menu icon - курсы wordpress

can_export — возможность экспортировать данные произвольного типа данных.

has_archive — выводить данные в списке как архив (также как выводятся записи).

exclude_from_search — исключить этот тип данных из поиска.

publicly_queryable — возможность делать запросы с пользовательской части.

query_var — устанавливает ключ к этому типу, используется для запросов.

rewrite — настройка ссылок к новому типу.

capability_type — берем настройки прав из другого типа данных.

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

Купить хостинг WordPress


Читайте также:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *