İlan

WordPress kullanmanın avantajlarından biri, esnek esnekliğidir. Yalnızca yayınlar ve sayfalar için değildir: özel yayın türleri temel özellikleri neredeyse her şeye genişletebilir.

Bugün özel yayın türleriyle neler yapabileceğinize bir göz atalım ve şu adla adlandırılan özel bir yayın türünü kullanarak nasıl bir etkinlik listesi oluşturacağınıza dair pratik bir örnek verelim Etkinlik.

Not: Bu öğretici yalnızca eğitim amaçlı düşünülmelidir, böylece özel gönderi türleri oluşturmak için kullanılan kodu öğrenebilirsiniz. WordPress siteniz için gerçekten eklenti listeleyen harika bir etkinlik istiyorsanız, deneyin Etkinlik Takvimi, hangi iyi gelişmiş ve ücretsiz.

WordPress'de Özel Yazı Tipleri Nelerdir?

Genellikle, bir WordPress sitesi iki tür içerikten oluşur: tarihli blog gönderileri ve statik sayfalar. Çoğumuz bir WordPress blogu oluşturun Blogunuzu WordPress ile Ayarlayın: Ultimate GuideKendi blogunuzu başlatmak istiyorsunuz ama nasıl yapacağınızı bilmiyor musunuz? Bugün mevcut olan en güçlü blog platformu WordPress'e bakın. Daha fazla oku

instagram viewer
sayfaların "Hakkımda" veya "İletişim bilgileri" gibi şeyler için kullanılması gerektiğinden, normal yayınlar blogunuza gider.

Ancak bunun ötesinde, blogun kronolojik sırasına gerçekten uymayan ve kesinlikle statik olmayan başka bir özel içerik eklemek isterseniz ne olur? Özel yayın türleri burada devreye girer.

Kulüp veya grup siteleri için oldukça yaygın bir talep, bir tür etkinlik takvimi oluşturmaktır. Uygulanabilecek bir çözüm, ayrı bir Etkinlik kategorisi oluşturmaktır. Bununla ilgili sorun, ana blog zaman çizelgesinde görüntülenecek olmaları ve iki kavramı tamamen ayırmamız gerekiyor.

Bu amaçla, yönetici arayüzünün kendi ayrı bir bölümüne sahip olan event adında yeni bir yazı türü oluşturalım.

WordPress'te Özel Yazı Türü Oluşturma

Bunu tema dosyalarınızı doğrudan ayarlayarak yapacağız. Aynı etkiyi bir eklenti aracılığıyla da elde edebilirsiniz, ancak kavramı ve pratiği göstermek için doğrudan yazmak daha kolaydır. Bunu yapmaktan çekiniyorsanız, Özel İşlevler eklentim, bu da tahribatsız bir şekilde kod eklemenizi sağlar.

Özel İşlevlerim

Temanızı açın functions.php içindeki tema klasöründe saklanan dosya wp-content / themes; veya bulacağınız Özel İşlevlerim eklentisini kullanın Ayarlar > PHP Ekleyici. Dosyanın sonuna şu kodu ekleyin:

add_action ('init', 'events_init'); function events_init () {$ args = dizi ('etiketler' => dizi ('ad' => __ ('Olaylar'), 'tekil_isim' => __ ('Olay'),), 'genel' => true, 'has_archive' => true, 'rewrite' => dizi ("slug" => "olaylar"), 'destekliyor' => dizi ('küçük resim', 'düzenleyici', 'başlık', 'özel alanlar')); register_post_type ('olaylar', $ args); }

Kapatmadan önce bunu yaptığınızdan emin olun php (?>) etiketinde, functions.php dosya.

Kodu okumak için biraz zaman ayırın. Bazı özellikleri (arayüz etiketleri gibi) ve URL'lerin (yeniden yazmaların) nasıl ele alınacağını ve bu yazı türünün desteklediği özellikleri bildiriyor. Örneğin, support özelliğiyle özel posta türünüze özel bir alan ekleyebilirsiniz.

Bu durumda, etkinlik türümüzü küçük resimleri, etkinlik açıklaması için bir içerik düzenleyicisini, bir etkinlik başlığını ve özel alanları destekleyecek şekilde beyan ettik. Ayrıca ekledik has_archive, böylece etkinlikler sayfasına gittiğinizde bir blog'a benzer tüm etkinliklerin bir arşivi açılır.

İşte bu, şimdi temanızı kaydedip blogunuzu yeniden yüklerseniz, hatalarınız olmadığını varsayarsak, artık yönetici kenar çubuğunuzda yeni bir etkinlikler bölümü görmelisiniz. Yaşasın!

Mevcut temamın yönetici içindeki her türlü ekstra özellik için özel yazı türlerinden nasıl tam olarak faydalandığına dikkat edin.

Şimdi bazı örnek etkinlikler ekleyin.

Etkinlik listesine iki harika parti eklendi!

Sonra bu bir etkinlik olduğundan, adlı özel bir alan oluşturun. tarih olayın ne zaman gerçekleşeceğini belirtmek için. kullanım aa / gg / yyyy biçim.

Etkinliğin ne zaman gerçekleşeceğini göstermek için özel bir tarih alanı oluşturma

Gönderinin tarihi, bildirimin yayınlandığı zamanı temsil ettiğinden, etkinliğin gerçek tarihini belirtmek için özel alanları kullanmamız gerektiğini unutmayın. Gelecekte gerçekleşecek etkinlikleri ekleyeceğiniz için yayınlanma tarihinin gerçek etkinlik tarihine ayarlanması işe yaramaz.

Bu noktada olayı görüntülemeye çalışırsanız, 404 hatası alabilirsiniz. Bunun nedeni, WordPress'in bu yeni gönderi türünü hesaba katmak için Permalink URL yapınızı yeniden oluşturması gerektiğidir. Şuraya gidin Ayarlar> Kalıcı Bağlantılar sayfasına gidin ve tekrar kaydet'e basın.

Artık tek tek etkinlik gönderilerini görebilmeniz gerekir. URL'nin alan adınızdan sonraki ilk bölümünün /events/. Bunu bu kod satırında seçtik:

'rewrite' => dizi ("slug" => "olaylar"),

Etkinlik Listeleme Sayfasını Özelleştirme

Artık blogunuzda tüm bu harika etkinliklere sahip olduğunuza göre, onları bir yerde listelemek güzel olurdu. Bunun için özel bir sayfa şablonu oluşturacağız, böylece bu sayfayı Hakkında veya Kişi ile birlikte normal menü öğelerinize ekleyebilirsiniz.

Etkinlik yayın türünün bir arşivi olması gerektiğini önceden belirlediğimizden, şu adresi ziyaret ederek varsayılanın ne olduğunu görebilirsiniz. /events/. Test sitemdeki standart Yirmi Onyedi temasında şunu aldım:

Etkinlikleri gösteren arşiv sayfası

Bu çıktının özelleştirilmesi, hangi temayı kullandığınıza bağlı olacaktır ve tüm WordPress şablonlama sistemini kapsayan bu makalenin kapsamı dışındadır. Ancak, bu eğitim için Yirmi Onyedi kullandığınızı varsayacağım.

Şunun bir kopyasını oluşturarak başlayın: için arşivve olarak yeniden adlandırın arşiv-events.php. Bu bir standart adlandırma kuralı diğer bir deyişle, WordPress, olaylar sonrası türü için arşivi görüntülemek üzere bu şablonu otomatik olarak kullanır.

Dosya incelendiğinde, Yirmi Onyedi yazar, ihtiyaçlarımız için çok karmaşık olan bir post format mekanizması sağladı:

/* * İçerik için Format Sonrası özel şablonu ekleyin. * Bir alt temada bunu geçersiz kılmak istiyorsanız, bir dosya ekleyin. * content -___. php (burada ___, Post Format adıdır) olarak adlandırılır ve bunun yerine kullanılır. */ get_template_part ('şablon-parçalar / gönderi / içerik', get_post_format ());

Not: Orijinal temada yapılacak tüm güncellemeler değişikliklerinizin üzerine yazılacağından bir alt tema önerilir. Bu WordPress destek makalesi Yirmi Onyedi için bir çocuk teması oluşturma sürecini açıklar. Kısacası, sadece orijinal tema üzerinde çalışacağım ve daha sonraki bir güncellemede çalışmamın kaybolup kaybolmayacağı umurumda değil.

Tüm bloğu kesin ve yerine aşağıdakileri yapıştırın. Bu, öğrenme amacıyla, bu yazı biçimi şablonlarında bulunanların basitleştirilmiş bir kopyasıdır:

Etkinlikler sayfasını tekrar kaydedip önizlerseniz, artık tarihlerin olduğunu fark edersiniz. Ama yanılıyorlar. Şu anda etkinlik tarihi yerine yayınlanma tarihini gösteriyorlar. Son adım olarak, etkinliğin gerçekleşeceği gerçek tarih olarak değiştirelim. Zamanı üreten biti bul, twenty_seventeen_time_link ()ve aşağıdakilerle değiştirin:

tarih ('l jS F Y', strtotime (get_post_meta (get_the_ID (), 'tarih', doğru))))

Bu, ayarladığımız post meta alanından tarihi alıyor, ardından PHP'yi kullanıyor tarihi () daha okunabilir bir şey biçimlendirmek için işlev.

Tarihli arşiv

Sonraki adımlar?

Mevcut web barındırıcınızdan memnun değilseniz, yönetilen bir WordPress barındırıcısını kullanmanızı öneririz. WP Motorukendimiz kardeş sitelerimiz için kullanıyoruz. Aksi takdirde, InMotion Hosting, kullandığınızda özel indirimle daha ucuz olan uygun fiyatlı planlar sunar bu bağlantı.

Ardından, etkinlik yayın türünü oluşturduğumuzda, zaten öne çıkan küçük resimler için destek kodladığımızı unutmayın. İçin kılavuzumuzu kullanın öne çıkan resimler ve küçük resimler WordPress'te Öne Çıkan Küçük Resimler ve Görüntü Boyutları için Komple KılavuzWordPress'teki görüntü boyutları ve öne çıkan görüntüleri yönetme hakkında bilmeniz gereken her şey. Daha fazla oku etkinlikler listelemesinde öne çıkan bir resmi yakalamak ve görüntülemek için.

James Yapay Zeka alanında lisans derecesine sahiptir ve CompTIA A + ve Network + sertifikalıdır. MakeUseOf'un baş geliştiricisi ve boş zamanlarını VR paintball ve boardgames oynayarak geçiriyor. Çocukluğundan beri bilgisayar yapıyor.