# 136: Переміщення речей до системи управління вмістом за необхідністю - CSS-хитрощі

Anonim

У цьому відео я розповідаю про конкретну ситуацію в "реальному світі", в якій я описувався, як я обробляю сторінку CodePen Meetups.

На перших днях CodePen Meetups ми щойно запланували єдиний. Це мала бути перша зустріч CodePen в Остіні, штат Техас. Тож я створив для нього сторінку як частину головного веб-сайту CodePen (проект Rails) за адресою URL / meetups /. Там я повинен був спроектувати його, як хотів. Я з’ясовував, яка інформація повинна бути на цій сторінці та як її подавати. (У відео ми на той час відкопали копію сайту через кешовані сторінки (скріншот)).

Час йшов. Я додав до нього кілька зустрічей, і форма відображення декількох зустрічей на сторінці набула форми. Я з’ясував, які шматочки інформації поширені серед усіх зустрічей і як це показати. У той же час оновлення ставали нудними. Додавання нових - це робота. Легко забути видалити старі. І це начебто просто відмовлятись від такого видалення HTML, знаючи, що це потенційно корисна інформація, яку ви знищуєте. Я просто відредагував тут HTML-шаблон.

Настав час, що це справді потрібно було систематизувати та перенести в систему управління вмістом. На щастя, переїзд був досить легким, оскільки я точно знав, що мені потрібно, і знав, що маю інструменти, щоб це зробити. Ми фактично робили подібні речі вже кілька разів. Наприклад тут і тут.

Це виходить приблизно так:

  1. Створіть новий власний тип публікації (“Meetups”) за допомогою цього плагіна.
  2. До цього CPT приєднайте саме ті спеціальні поля, які ви хочете (дата, час, місце проведення тощо).
  3. Публікуйте геть!

Ми встановили has_archiveдля trueнашого CPT, так що ми отримали URL / Meetups / безкоштовно, який автоматично використовує шаблон `архів-meetups.php`. Нам потрібно було виконати серйозну спеціальну роботу над цим шаблоном, оскільки нам довелося:

  1. Відображайте всю потрібну нам інформацію саме так, як ми її хочемо.
  2. Відображення майбутніх зустрічей у порядку замовлення.
  3. Автоматично переміщувати старі зустрічі до розділу "Минулі зустрічі".

Все цілком здійсненно. Спочатку давайте запитаємо про необхідні нам зустрічі (після сьогоднішньої дати). Ми робимо це, запускаючи власний запит, що включає відповідне власне поле

 'meetups', 'posts_per_page' => -1, 'meta_key' => 'date', 'orderby' => 'meta_value_num', 'order' => 'ASC', 'meta_query' => array( array( 'key' => 'date', 'compare' => '>=', 'value' => $today )) )); foreach ($myposts as $post) : setup_postdata($post); // The loop! Output stuff! endforeach; wp_reset_postdata(); ?>

Вивести власні поля дуже просто за допомогою розширених спеціальних полів. Це дає вам функцію, яку ви можете використовувати так, просто назвіть поле:

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

Тут нічого надзвичайно розкриваючого, я просто захоплююся подібними речами, тому що:

  • Це дуже продуктивно, за такий невеликий обсяг роботи (я зробив це, лежачи на дивані однієї ночі).
  • Я можу це зробити, не вимагаючи змушувати команду розробляти щось химерне, я можу використовувати для цього свої навички розробника інтерфейсу. (Я вважаю майстерність з темами WordPress та базовою функціональністю майстерністю переднього плану).

І звичайно, для цього не потрібен WordPress. Я впевнений, що це можливо в будь-якій CMS. Ось що таке CMS. Мені просто подобається і найкраще відомий WordPress.