В това видео разказвам за конкретна ситуация от „реалния свят“, в която бях, включвайки как се справям с страницата на CodePen Meetups.
В самото начало на CodePen Meetups току-що планирахме един-единствен. Това трябваше да бъде първата среща на CodePen в Остин, Тексас. Затова направих страница за него като част от основния уебсайт на CodePen (проект на Rails) на URL / meetups /. Там трябва да го проектирам, както искам. Измислях какъв вид информация трябва да бъде на тази страница и как да я представя. (Във видеото изкопахме копие на сайта по това време чрез кеширани страници (екранна снимка)).
Времето продължаваше. Добавих няколко срещи към него и формата на показване на множество срещи на страницата се оформи. Разбрах какви битове информация са често срещани сред всички срещи и как да покажа това. В същото време актуализациите стават досадни. Добавянето на нови е работа. Лесно е да забравите да премахнете старите. И е доста гадно само да изтриете HTML така, знаейки, че това е потенциално полезна информация, която унищожавате. Просто направо редактирах HTML шаблон тук.
Дойде време, че това наистина трябва да бъде систематизирано и преместено в система за управление на съдържанието. За щастие преместването беше доста лесно, тъй като знаех точно от какво се нуждая и знаех, че имам инструменти, за да го направя. Всъщност сме правили подобни неща и преди няколко пъти. Например тук и тук.
Идва нещо подобно:
- Създайте нов персонализиран тип публикация („Meetups“) с тази приставка.
- Прикачете точно потребителските полета, които искате, към този CPT (дата, час, място и т.н.).
- Публикувайте далеч!
Зададохме has_archive
на true
нашата CPT, така че ние имаме най-URL / срещите / безплатно, което използва за шаблон `архив-meetups.php` автоматично. Трябваше да извършим сериозна поръчка по този шаблон, тъй като трябваше:
- Показвайте цялата необходима информация точно как я искаме.
- Показвайте предстоящите срещи в реда на датите.
- Автоматично преместване на стари срещи в раздел „Минали срещи“.
Всички напълно изпълними. Първо нека направим запитване за срещите, които искаме (след днешната дата). Правим това, като стартираме персонализирана заявка, включваща правилното персонализирано поле
'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 най-добре.