Створення своїх типів даних. Плагин types для WordPress.

Як відомо в WordPress спочатку існує два основних типи це записи та сторінки.

типы записей в wordpress

 

Додавання типів даних без коду

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

Напевно, один з найкорисніших плагінів для WordPress це плагін Types розроблений командою розробників із сайту wp-types.com. Для початку можна зайти на сайт і завантажити плагін як у самих розробників, так і з офіційного репозиторію WordPress.

https://wordpress.org/extend/plugins/types/

Після скачування плагіна та встановлення активуємо його. Ліворуч у меню з'явиться новий пункт types

Типи даних у меню Wordpress

 

Для початку заходимо до пункту Types -> Індивідуальні типи та систематики і в ньому натискаємо кнопку Додати індивідуальний тип публікації далі заповнюємо форму. Спробуємо у WordPress зробити невелику інтернет вітрину для публікації товарів на сайт.

Додавання нових полів індивідуального типу публікації

Після заповнення спускаємося нижче та налаштовуємо:

  1. Параметри метабоксу Проглядання залишаємо як є.
  2. Параметри метабоксу Вибрати систематики. У нашому типі рубрики та мітки будуть вимкнені.
  3. У метабоксі Мітки можна змінити написання стандартних команд своєю мовою.
    Зміна стандартних міток
  4. Вивести Розділи на дисплей:
    1. Заголовок – завжди залишаємо увімкненим, навіть якщо у вас немає потреби його виводити, це поле стане в нагоді для знаходження потрібного матеріалу в панелі адміністратора.
    2. редактор – візуальний редактор, стандартне поле для типів даних у WordPress. У нашому випадку це поле не знадобиться, відключаємо його.
    3. Коментарі – для Інтернет вітрини, вони будуть корисні, особливо якщо опису товарів буде мало. Коментарі допомагають зробити сторінки унікальнішими.
    4. Редакції – редакції – це копії документа, які зберігаються автоматично або в момент публікації та оновлення матеріалу на сайті. Думаю, що матеріал у нас у вітрині оновлюватиметься не часто, тому редакції ми можемо залишити вимкненими.
    5. Інші пункти крім Мініатюри що знаходяться нижче нам не потрібні. Ставимо галочку навпроти пункту Мініатюра.
    6. Індивідуальні поля – додаткові поля для виведення додаткової інформації, про них поговоримо пізніше.
  5. Розширений – розширені налаштування теж можна залишити як є.

Після всіх налаштувань натискаємо кнопку Зберегти індивідуальний тип публікації у нижній частині екрану.

Збереження типів публікації

Після збереження меню адміністратора з'явиться новий тип даних Товари.

Новий тип публікації у меню

 

Як бачимо, поряд із типом у меню у нас стандартна іконка, її можна змінити в налаштуваннях типу. Також можна змінити положення пункту в меню адміністратора.

Значок для типу в меню

Іконку необхідно вставляти у форматі ico або png.

значок для нового типу публікації

Якщо ми зараз зайдемо в меню Товари -> Додати новий, то побачимо що у нас відображається лише назва товару. Так як товарів буде багато, то добре б їх поділити на групи, для цього:

  1. Знову заходимо в меню Types -> Індивідуальні типи публікацій та систематик.
  2. Додати індивідуальну систематику.
  3. Заповнюємо поля форми та вибираємо тип публікації Товар.
  4. Перейменовуємо мітки.
  5. Розширені налаштування залишаємо як є.
  6. Зберігаємо систематику.

 

Після виконаних дій зайшовши в Меню адміністратора -> Товари праворуч у нас з'явиться ще один метабокс Групи товарів, де можна задавати категорії у вигляді ключових фраз. Цей метабокс схожий на Мітки.

Групи товарів типи даних у WordPress

 

Якщо все вийшло, то продовжуємо далі.

Наступним кроком буде додавання кількох додаткових полів для типу. Давайте перерахуємо, які це поля:

  • Назва товару
  • Ціна
  • Опис товару

 

Поки що цих полів нам буде достатньо.

Заходимо до пункту Types -> Індивідуальні поля. У вікні вводимо Заголовок групи полів і Опис групи.

Додати нову групу полів

 

Нижче в метабоксі необхідно вказати Де виводити цю групу на дисплей. Під пунктом Типи публікацій натискаємо кнопку редагувати і відзначаємо тип Товари. Тут моно відзначатиме і кілька типів, якщо у вибраних типах будуть потрібні схожі поля.

Вибираємо місце, де виводити поля

 

Терміни і Шаблони не вибираємо.

Праворуч є група під назвою Наявні поля необхідно вибрати для назви та ціни товару Однорядкові поля, а дляОпис товару вибрати WYSIWYG.

Зліва у вас з'являться поля з налаштуваннями:

  • Ввести назву поля – вводимо назву поля, наприклад Назва товару.
  • Ввести поле динамічних даних у поле – тут необхідно ввести унікальне ім'я поля англійською, назвемо Назва продукту.
  • Описати це поле - Можна залишити порожнім, тому що з назви поля все і так ясно.
  • Просте або повторюване поле? -У нашому випадку, всі поля можуть мати лише одне значення. Цей параметр дуже зручний, якщо вам необхідно завантажити кілька картинок і виводити їх на сторінці.
  • Обов'язково – ставимо галочку навпроти полів, які вважаємо обов'язковими.

 

Після налаштування всіх трьох полів можна натиснути на стрілку поруч із назвою та згорнути параметри поля.

Сортування довільних полів

 

Є ще два параметри для видалення поля хрестик та для сортування полів стрілка. Виставте поля в потрібному порядку та натискаємо Зберегти. Після збереження переходимо до створеного типу публікації Товари -> Додати новий. Якщо все було зроблено правильно, у вас з'являться нові індивідуальні поля.

Заходимо у меню Товари – > Групи товарів -> Створимо групи для товару.

  • Фотоапарати
  • Планшети
  • Ноутбуки

У кожній групі для зручності створіть за 3 товару з описом та мініатюрами.

 

Далі необхідно наші товари вивести на екран і для цього нам доведеться увійти в меню Зовнішній вигляд – > Меню та додати нове меню під назвою Вітрина.

Додаємо довільне меню для виведення типу матеріалів

 

Далі в лівій колонці знаходимо метабокс Групи товарів,якщо груп товарів не виявилося, то можна їх увімкнути вгорі у вкладці Налаштування екрана. Вибираємо створені раніше групи товарів Ноутбуки, Планшети, Фотоапарати і додаємо їх до області створеного меню. Незабутній натиснути кнопку Зберегти меню.

Щоб відобразити меню заходимо до пункту Зовнішній вигляд -> Віджети і в бічну панель сайту перетягуємо віджет Довільне меню. Вводимо заголовок Категорії товарів і вибираємо меню Вітрина як показано на малюнку нижче.

Додаємо віджет із довільним меню - типи даних WordPress

 

Після всіх дій на сайті, з'явиться наше меню.

Тепер необхідно створити файл шаблону для виведення таксономії та дати йому ім'я

taxonomy-{taxonomy}.php

Натомість {taxonomy} необхідно вставити вміст Поля динамічних даних із створеної нами систематики Групи товарів.

У шаблоні необхідно додати структуру із файлу в завданні.

zip архів тем wordpress

Структуру необхідно змінити під ваші налаштування полів.

 

Розглянемо всі функції, які використовувалися в шаблоні:

single_tag_title() – Виводить заголовок поточної мітки, якщо переглядається архівна сторінка мітки.

WP_Query() - задаючи різні параметри, можна робити вибірку та сортування записів. Схоже на запит до бази даних. Докладніше можна почитати на сайті розробників wordpress у кодексі, правда тільки англійською WP_Query(). Раджу подивитись на функцію, дуже корисна.

$wp_query->query_vars - Повертає масив змінних запиту. Для розуміння як працює ця конструкція, розкоментуйте її у файлі шаблону та перегляньте результат.

have_posts() – перевіряє, чи має поточний запит WP результати для виведення.

the_post() – лічильник для циклу.

the_content() - Вміст посту або запису, оскільки ми редактор не включали, то ця функція нічого не робить.

get_post_meta($post_id, $key, $single) - Повертає дані з довільного поля. Кожне поле, яке ми створювали для типу має своє довільне поле, яке можна вивести через цю функцію.

$post_id (число) (обов'язковий) – ID публікації, довільні поля якого потрібно отримати.

$key (рядок) (обов'язковий) – назва довільного поля, значення якого потрібно отримати.

$single (логічний) – якщо виставити параметр у true, то функція поверне єдине значення у вигляді строки. Якщо параметр дорівнюватиме false або не буде встановлено, то функція поверне масив значень довільних полів.

Однак, якщо у значенні довільного поля знаходиться серіалізований масив, те закінчення true поверне, нормальний масив, а якщо вказати false, то повернеться масив в елементі (наприклад [0]) якого буде той самий серіалізований масив. тобто. у цьому випадку параметр працює "навпаки".
За замовчуванням: false

 

get_permalink() - Посилання на пост.

the_title_attribute( ‘echo=0’ ) - Атрибути посилання.

the_post_thumbnail(‘thumbnail’) - Мініатюра з розміром мініатюра.

Поговоримо докладніше про те, звідки я брав мітки для функції get_post_meta(). Візьмемо, наприклад:

Зайдем в меню Товари та відкриємо один із товарів на редагування, далі у верхній частині екрану вибираємо Налаштування екрана і поставимо мітку навпроти пункту Довільні поля, при цьому з'явиться метабокс з аналогічною назвою.

Довільні поля WordPress

Подивившись на картинку, все стане ясно, у вас можуть бути інші назви, тому необхідно уважно порівняти довільні поля з метабоксу., що знаходиться у файлі шаблону. Якщо ви все виправите, то у вас має змінитись висновок матеріалів типу товар.

wordpress виведення товару на сторінці

 

Якщо у вас також вивівся товар, значить ви все зробили правильно і залишиться лише стилізувати висновок за допомогою стилів. Якщо вам не хочеться робити шаблон вручну, то можна автоматизувати виведення контенту без втручання в код. Висновок можна зробити за допомогою плагіна views , плагін хоч і платний але для тих хто постійно займається розробкою на WordPress цей плагін може прискорити роботу в 3-4 рази.


Купити хостинг WordPress
/* Репетитор по wordpress
Послуги репетитора онлайн. Список курсів, які я веду
  • Базовий курс з веб-дизайну;
  • Верстка сайтів;
  • Загальний курс CMS WordPress та продовження курсу з розробки шаблонів;
  • Розробка сайтів на PHP.
Докладніше читайте на сторінці репетитор по WordPress
*/

Ніколаєнко Максим

Директор веб-студии ProGrafika. Займаюсь розробкою, дизайном та просуванням веб-сайтів. Завжди радий новим читачам блогу та добрим клієнтам.


Вам також може сподобатися...

4 Відповіді

  1. Антон :

    Доброго дня, цим плагіном можна сортувати мітки?

    приклад:
    ——————————
    Жанр: Комедія, бойовик

    Актори: Брюс Лі
    ——————————
    Тобто (комедія, бойовик, Брюс Лі) це мітки, які виводяться у різних місцях, можна реалізувати такий сортований висновок на міток на вордпрес?

  2. Ніколаєнко Максим :

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

    У вашому випадку я робив би окрему таксономію на Жанр і на Актори і потім просто робив потрібний запит до бази. Поділ тег буде для вас у подальшій розробці.

    Також можна скористатися плагіном views.

  3. Юрій :

    Куди зберігати файл taxonomy-{taxonomy}.php ?

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.

Шаблони для WordPress
Найкращий хостинг в Україні
Стабільний хостинг для Drupal