WordPress створений для кастомізації. Він був створений таким чином, що кожну його частину можна налаштувати. У цьому керівництві ми розповімо про одну з найпотужніших можливостей WordPress, відому як призначені для користувача типи записів. і про те, як WordPress досяг висот з появою цієї чудової можливості.
Що таке Custom Post Types?
Припустимо, ви хочете зробити на вашому блозі окремий розділ для кіно-рецензій. Використовуючи призначені для користувача типи записів, ви можете створити новий тип на кшталт Записи або Сторінки. який буде містити інший набір даних. У нього буде своє меню адміністратора, окремі сторінки редагування, своя таксономія і інші можливості, необхідні для повноцінних публікацій.
Навіщо використовувати призначені для користувача типи записів?
Призначені для користувача типи записів допомагають зберігати різні типи записів в різних кошиках. Вони відокремлюють наші звичайні записи від інших. Дуже просто!
Приклад створення плагіна Custom Post Type
Тут ми створимо плагін для виведення записів нового типу, які покажуть наші кіно-рецензії. Давайте почнемо.
Крок 1. Створюємо папку WordPress плагіна
Відкрийте свою папку з WordPress плагінами і створіть нову під назвою Movie-Reviews.
Крок 2. Створюємо PHP файл
Відкрийте папку і створіть PHP файл під назвою Movie-Reviews.php.
Крок 3. Додаємо шапку
Відкрийте файл і додайте код шапки плагіна.
Крок 4. Реєструємо користувача функцію
Перед командою закриття PHP. введіть наступний рядок коду для того, щоб виконувати призначену для користувача функцію по імені create_movie_review при ініціалізації кожен раз, коли сторінка генерується.
Крок 5. Виконання функції
Виконання функції create_movie_review:
Функція register_post_type робить за нас більшість роботи. Як тільки вона викликається, вона готує середу WordPress до нового призначеного для користувача типу записи, включаючи різні розділи в адмін. частини.
Ця функція приймає два аргументи. перший - унікальне ім'я користувача типу записів, а другий - масив, який представляє властивості нового користувальницького типу записів. Ось інший масив, який містить різні мітки, які позначають, які текстові рядки будуть відображатися в різних частинах призначеного для користувача типи записів, наприклад "name" відображає назву призначеного для користувача типи записів в консолі, "edit" і "view" відображаються відповідно в кнопках Edit і View . Думаю, решта говорить сама про себе.
На сторінці WordPress Codex про функції register_post_type ви можете прочитати більше про аргументи, які використовуються в призначених для користувача типах записи.
Крок 6. Іконка для призначеного для користувача типу записи
Збережіть іконку розміром 16 x 16 px в папку вашого поточного плагіна. Це необхідно для іконки для користувача типу записи в консолі.
Крок 7. Активуємо плагін
Крок 8. Додавання нового запису
Крок 9. Публікація
Опублікуйте запис і клацніть по View Movie Review. щоб побачити створену кіно-рецензію.
Створення полів Meta Box для користувача типів записів
Крок 1. Реєстрація для користувача функції
Відкрийте файл Movie-Reviews.php і додайте наступний код перед закривається PHP тегом. Це реєструє функцію, яка буде викликана, коли буде відвіданий інтерфейс адміністратора WordPress.
Крок 2. Виконання користувальницької функції
Додайте виконання функції my_admin. яка реєструє мета-блоки і пов'язує їх з призначеним для користувача типом записів movie_reviews.
Тут функція add_meta_box використана для додавання мета-блоків в призначені для користувача типи записів.
- movie_review_meta_box - необхідний HTML атрибут id.
- Movie Review Details - текст, видимий у верхній частині мета-блоку.
- display_movie_review_meta_box - зворотний виклик, який відображає вміст мета-блоку.
- movie_reviews - це ім'я користувача типу записів, де буде відображатися мета-блок.
- normal - визначає частину сторінки, де повинен бути відображений блок редагування.
- high - визначає пріоритет в контексті, в якому будуть відображатися блоки.
Крок 3. Виконання функції display_movie_review_meta_box
Крок 4. Реєстрація функції Save Post
Ця функція викликається, коли записи зберігаються в базі даних.
Крок 5. Виклик функції add_movie_review_fields
Ця функція виконується, коли записи зберігаються або видаляються з панелі адміністратора. Тут після перевірки типу отриманих даних записи на предмет того, чи є це призначеним для користувача типом записи, перевіряється, чи були прикріплені значення до елементів мета-блоків, і потім, нарешті, зберігаються значення в ці поля.
Крок 6. Відключення стандартних користувальницьких полів
Створення призначеного для користувача шаблону для призначеного для користувача типу записи
Правильний спосіб відображення даних користувача типу записи - це використання користувацьких шаблонів для кожного користувача типу записи. Тут ми повинні створити шаблон, який відображає всі кіно-рецензії, додані з використанням призначеного для користувача типу записи Movie Review.
Крок 1. Реєструємо функцію для шаблону
Відкрийте файл Movie-Reviews.php і додайте перед тегом закриття PHP наступний код. Він зареєструє функцію для виклику, коли буде відвіданий інтерфейс адміністратора WordPress.
Крок 2. Виконання функції
Тут код шукає шаблон single- (post-type-name) .php в папці поточної теми. Якщо його там немає, він шукає в папці плагіна шаблон, який ми надали як частина плагіна. Зачіпка template_include була використана для зміни стандартного поведінки і застосування специфічного шаблону.
Крок 3. Створення файлу шаблону Single Page
Після збереження відкритого файлу плагіна створіть інший PHP файл під назвою single-movie_reviews.php і вставте в нього наступний код.
Зверніть увагу. вам потрібно створити нову сторінку з консолі, використовуючи створений тільки що шаблон.
Крок 4. Зображення
Вам потрібно зберегти два зображення іконок 32 x 32 px в папці вашого плагіна. Назвіть їх icon.png і grey.png. Все, тепер кіно-рецензії відображаються на окремій сторінці, відсортовані за датою.
Надалі я опишу більше можливостей власних користувальницьких типів, таких як: створення сторінок архівів, створення призначених для користувача таксономій, призначених для користувача стовпців і так далі.
Джерело: WP.tutsplus.com
А що робити є wp не бачить category.php, category-36.php і т.д. А використовує index.php
"Крок 3. Створення файлу шаблону Single Page" - це не сингл сторінка, це ти створив шаблон виводу звичайної сторінки з постами твого custom post type. неук.
Взагалі-то, це і малося на увазі. Single.php відповідає за виведення звичайної сторінки, про це і йшлося.
Вітаю! Підкажіть будь ласка, як прикріпити "кастомний пост" до звичайних постам. Бачив реалізацію в одному з полігонів, але як зробити це самому так і не знайшов.
Просто, хочу зробити архів ігор. Щоб до кожної новини, я міг прикріплювати певну гру, яку я виберу. Щоб надалі, виводити основну інформацію гри, в кожній новині.
Теж поки не вирішено. ((((
а як створити і вийти на архіви кастомних записів, як організувати пошук по ним?
Добрий вечер.Прошу допомогти. Ідея така - потрібно додавати в масив більше кол. слів. є необхідність додати не одне призначене для користувача поле, але як це здійснити? дані повинні додаватися в один і той же масив, тільки під різними id і по можливості зберігати тільки поля з даними тобто порожні поля відсікаються.
"Зверніть увагу: вам потрібно створити нову сторінку з консолі, використовуючи створений тільки що шаблон."
Ви могли б докладніше розкрити цей момент?