Bu videoda, CodePen Buluşmaları sayfasını nasıl ele aldığımı dahil ettiğim belirli bir "gerçek dünya" durumu hakkında konuşuyorum.
CodePen Buluşmalarının ilk günlerinde, sadece bir tane planlamıştık. Austin, Teksas'ta düzenlenen ilk CodePen Buluşması olacaktı. Bu yüzden bunun için ana CodePen web sitesinin (bir Rails projesi) parçası olarak URL / meetups / adresinde bir sayfa yaptım. Orada, istediğim gibi tasarladım. O sayfada ne tür bilgilerin olması gerektiğini ve bunları nasıl sunacağımı buluyordum. (Videoda, Önbelleğe Alınmış Sayfalar (ekran görüntüsü) aracılığıyla o sırada sitenin bir kopyasını çıkardık).
Zaman geçti. Ona birkaç buluşma ekledim ve sayfada birden fazla buluşma sergileme biçimi şekillendi. Tüm buluşmalar arasında hangi bilgilerin ortak olduğunu ve bunu nasıl göstereceğimi anladım. Aynı zamanda, güncellemeler sıkıcı olmaya başladı. Yenilerini eklemek iştir. Eskileri çıkarmayı unutmak kolaydır. Ve yok edeceğin potansiyel olarak yararlı bilginin olduğunu bildiğin için HTML'yi böyle silmek berbat bir şey. Burada bir HTML şablonu düzenliyordum.
Bunun gerçekten sistematik hale getirilmesi ve bir İçerik Yönetim Sistemine taşınması gerektiği zaman geldi. Neyse ki, neye ihtiyacım olduğunu tam olarak bildiğim ve bunu başarmak için araçlara sahip olduğumu bildiğim için hareket oldukça kolaydı. Aslında bu tür şeyleri daha önce birkaç kez yaptık. Örneğin burada ve burada.
Şöyle bir şey geliyor:
- Bu eklenti ile yeni bir Özel Gönderi Türü ("Buluşmalar") oluşturun.
- O CPT'ye tam olarak istediğiniz özel alanları ekleyin (tarih, saat, mekan vb.).
- Yayınlayın!
Biz set has_archive
için true
otomatik şablon `arşiv-meetups.php` kullanan ücretsiz URL / buluşmalar /, var bu yüzden bizim CPT için. Bununla birlikte, bu şablon üzerinde ciddi özel çalışmalar yapmamız gerekiyordu, çünkü yapmamız gereken:
- İhtiyacımız olan tüm bilgileri tam istediğimiz şekilde görüntüleyin.
- Yaklaşan buluşmaları tarih sırasına göre görüntüleyin.
- Eski buluşmaları otomatik olarak "Geçmiş buluşmalar" bölümüne taşıyın.
Tamamen yapılabilir. Önce istediğimiz buluşmaları sorgulayalım (bugünün tarihinden sonra). Bunu, uygun özel alanı içeren özel bir sorgu çalıştırarak yapıyoruz
'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(); ?>
Gelişmiş Özel Alanlar ile özel alanların çıktısını almak çok kolaydır. Size bunun gibi kullanabileceğiniz bir işlev verir, sadece alanı adlandırın:
Bu tür çıktıları, bu yeni şablonda zaten kullanmakta olduğumuz mevcut HTML'ye koyduk. Ardından, geçmiş buluşmalar için yalnızca ters tarih karşılaştırmasıyla başka bir döngü çalıştırıyoruz.
Burada çok açıklayıcı bir şey yok, sadece bu tür şeyler için heyecanlanıyorum çünkü:
- Bu kadar az iş için oldukça üretken hissettiriyor (bunu bir gece kanepede uzanırken yaptım).
- Ekibi süslü bir şey geliştirmeye zorlamadan yapabilirim, bunu yapmak için ön uç geliştirici becerilerimi kullanabilirim. (WordPress temalarını ve temel işlevselliği bir ön uç becerisi olarak görüyorum).
Ve elbette bunun için WordPress gerekli değildir. Eminim herhangi bir CMS'de mümkündür. CMS'ler budur. WordPress'i en çok seviyorum ve biliyorum.