У нашій темі в папці functions додайте файл custom-type.php в ньому ми будемо зберігати нові типи файлів і таксономії. Щоб новий файл працював необхідно в файл functions.php вставити підключення створеного файлу як показано на зображенні нижче.
Після створення і підключення файлу, створимо сам тип даних. Для створення типу даних необхідно використовувати функцію register_post_type (). про неї можна детально почитати на офіційному сайті, в кодексі wordpress. Я розповім про своє коді, який ми будемо використовувати.
До речі для розроблення типу даних можна використовувати хороший генератор типів даних. але це не означає що цей генератор буде працювати вічно і вам непотрібно знати як працює функція register_post_type ().
Про генераторі типів даних я думаю ще напишу, а може і створю свій, а зараз розповім як все працює на прикладі мого коду.
Додати тип в wordpress
Багато розповідати не буду, почну розписувати вам по порядку всі атрибути передаються в функцію.
Атрибути функції register_post_type ()
name - загальна назва довільного типу даних, зазвичай пишуть у множині. Використовується для виведення назви в адмінці.
singular_name - ім'я типу даних в одиночному числі.
menu_name - ім'я нового типу в меню, в нашому випадки це portfolio.
parent_item_colon - мітка для виведення батьківської записи, пишемо в одиночному числі.
all_items - мітка для всіх записів. За замовчуванням для всіх записів даного типу 'Parent work:'.
add_new_item - напис на кнопку для додавання нового запису.
add_new - кнопка додати новий запис поруч із заголовком.
edit_item - заголовок для редагованої записи.
search_items - міняємо напис на те що нам необхідно.
not_found - напис за замовчуванням, якщо немає записів даного типу.
not_found_in_trash - напис в порожній кошику «Записів не знайдено».
slug - ярлик на засланні даного типу, важливо відразу продумати, як його назвати.
pages - за замовчуванням true, за замовчуванням дозволено посторінкову навігацію для окремих записів. Якщо цей параметр встановлений в false, то ви не зможете скористатися коротким тегом () Для вставки посторінковою навігації усередині запису.
feeds - за допомогою вказівки цього параметра в (true), ми можемо визначити чи буде даний тип даних відображатися в стрічці rss.
label - мітка типу даних в множині.
description - короткий опис для типу даних.
supports - включення додаткового функціоналу, цей же функціонал можна включити і після створення типу даних за допомогою функції add_post_type_support (). Розглянемо всі що можна включити за допомогою цієї функції.
• title - заголовок поста.
• editor (content) - відображає поле введення для контенту сторінки.
• thumbnail (featured image) - підтримка мініатюри записи.• excerpt - активація області короткої записи. Хто не в курсі, якщо ми вводимо цю область, то при виведенні архіву записів буде виводитися це текст. Дуже корисно для SEO.
• page-attributes - відображає атрибути сторінки, наприклад порядок записів. Використовується рідко, бачив використання всього раз в одному шаблоні, там це було дійсно необхідно.
• post-formats - додає формати сторінки, при необхідності в подальшому я розповім про них.
hierarchical - включає і відключає призначену для користувача ієрархію. Поки нам цей пункт не знадобиться.
public - визначає видимість призначеного для користувача типу записи в панелі адміністратора і в клієнтської частини.
menu_position - позначає позицію довільного типу в панелі адміністратора.
show_ui - приховує новий тип в панелі адміністратора, як в меню, так і в адмінбаре. Працювати з типом можна але тільки за коштами коду.
show_in_menu - приховує новий тип тільки в призначеному для користувача меню.
show_in_admin_bar - вказуємо вибрати, чи потрібно відображати довільний тип в меню.
У пункті 2 немає підміню для нового типу даних.
menu_icon - показує шлях до іконки для меню
can_export - можливість експортувати дані довільного типу даних.
has_archive - виводити дані в списку як архів (також як виводяться записи).
exclude_from_search - виключити цей тип даних з пошуку.
publicly_queryable - можливість робити запити з призначеної для користувача частини.
query_var - встановлює ключ до цього типу, використовується для запитів.
rewrite - настройка посилань до нового типу.
capability_type - беремо настройки прав з іншого типу даних.
Урок трохи затягнувся, тому я вирішив розбити його на кілька уроків. Слідкуйте за курсом WordPress, скоро будуть нові уроки.
- Наступна публікація Додавання таксономії в WordPress - урок 26
- Попередня публікація Як приховати пункт меню Contact Form 7