Що довше я працюю з WordPress, то більше переконуюсь у гнучкості та широті можливостей цієї системи управління контентом. Мабуть, це одна з основних причин, чому саме Вордпрес став найбільш популярною та розповсюдженою платформою для автономних блогів у світі. Схоже, якщо трішки покопатися в його налаштуваннях та розібратися з деякими неочевидними функціями, можна створити сайт практично будь-якої складності.
Однією з таких “неочевидних” функцій, про яку часто забувають і майже ніколи не використовують більшість блогерів, є користувацькі поля (Custom fields). В українській версії WordPress вони перекладені, як “Власні поля”.
Власне поле – це унікальний тип даних, який створюється самим користувачем та може бути прикріплений до будь-якого допису, а також використовуватися в шаблоні блога. Інакше кажучи, власні поля дають блогерам практично необмежений простір для кастомізації.
Втім, для початківців використання користувацьких полів може здатися неочевидним, оскільки потрібно не тільки створити власне поле, але й правильно вбудувати його у шаблон публікації або сторінки.
Що таке власне (користувацьке) поле
Власне поле складається із ключа (key) та його значення (value). І хоча деякі плагіни пропонують готові функції для їх виведення в шаблонах, найбільше можливостей відкривається перед блогером тоді, коли він починає створювати “власні” користувацькі поля.
Чому я так наголошую на зручності та гнучкості користувацьких полів? Тому що по суті цей механізм дозволяє вийти за рамки поля для написання/редагування статті та організовувати інформацію довільним чином (саме так, як хоче читач, а не так, як це запрограмовано у шаблоні).
Наприклад, ви можете зручно вставляти зображення у анонси ваших публікацій, чи навіть зробити так, щоб зображення автоматично “підхоплювалося” зі статті. А якщо ви продаєте текстову рекламу з блога (постові), то можете легко налаштувати її виведення на головну сторінку, навіть якщо в самому пості реклама знаходиться в кінці запису.
Існує безліч інших можливостей для роботи зі власними полями, які неможливо охопити в одному записі. Та й не потрібно, адже сфера використання цілком і повністю залежить від фантазії автора. Мета ж цієї статті – дати загальне уявлення про роботу з користувацькими полями та навчити, як вставляти отримані дані у шаблон теми WordPress.
Як використовувати власні (користувацькі) поля
Створити користувацьке поле можна на сторінці публікації (під вікном введення статті є форма “Власного поля”):
За замовчуванням ви можете обрати будь-який зі вже наявних ключів для користувацьких полів. Якщо ви використовуєте декілька плагінів, то цілком можливо, що список непорожній, але вам до чужих значень немає жодної справи. Клікаємо “Введіть нові”, що дасть змогу створити власний ключ.
В імені ключа можна використовувати латиницю, кирилицю, цифри чи нижнє підкреслювання. А ось дефіс не рекомендується. Регістр літер має значення!
Після того, як ви створили новий ключ і хоча б один раз використали його (тобто прив’язали до статті, клікнувши на кнопку “Додати власне поле”), цей ключ буде з’являтися у випадаючому переліку і ви зможете використовувати його скільки завгодно в майбутньому.
В полі значення вводимо інформацію, яка буде пов’язана з ключем. Наприклад, якщо ви хочете, щоб власне поле виводило зображення у анонсі статті, то значенням може бути посилання на це зображення. Якщо виводитиметься певна реклама, то значенням буде її текст тощо.
Як вставити інформацію з власного поля в шаблон теми WordPress
Створити нове користувацьке поле – найпростіше. Але як “достукатися” до його значення у шаблоні?
Функція виклику значення виглядає наступним чином:
<?php echo get_post_meta($post->ID, "назва_ключа", $single = true); ?>
Вставляємо цей код у файли теми (index.php, single.php чи інші) і насолоджуємося результатом!
Якщо взяти цей код за основу, то при мінімальному знанні php можна створювати справжні шедеври, при цьому насолоджуючись практично абсолютною кастомізацією.
Схожі записи
Якщо вам сподобалася стаття, буду вдячний за її підтримку у соціальних мережах (Twitter, Facebook, Google+ та вКонтактє)