Herhangi bir WordPress sitesini problem tabanlı bir dergiye dönüştürün
Çevrimdışı yayıncılıkta, düzenli düzenli düzenleme hem günlük gazeteler hem de üç aylık dergiler baskın bir modeldir. Bununla birlikte, çevrimiçi, bu yaklaşım neredeyse hiçbir dayanak değildir, ancak sorunlarda yayınlanmak, “24 saat haber döngüsünün” bir parçası olmayan birçok site için aşırı ve sonuçta zarar verici olacaktır. WordPress sitenizi çevrimiçi sorununa tabi bir çevrimiçi yayına dönüştürmek zor değildir. Sana nasıl olduğunu göstereyim.
Periyodik yayıncılık basılı yayıncılığın müdürüdür, ancak nadiren kullanılan çevrimiçi içerik, söz konusu olduğu gibi Kraldır, ancak “Firehose” yayınlama gününde, tüketiciler tarafından iletilmesi gereken ciltte büyük miktarda içerik kaybolur. Hızlı bir şekilde yayınlanma hızı ile belirsizliğe itildi.Özellikle dijital dergilerin tüketilmeye hazır olduğu tabletlerin kullanımını ve özellikle sürdürülebilir E -Mail bülteninin popülaritesini arttırmayı düşündüğünüzde, periyodik bir yayınlama modeli benimseyen çok az site şaşırtıcı olabilir. Günlük, haftalık, aylık veya üç aylık olsun, düzenli bir programda piyasaya sürülen bir içerik koleksiyonu, okuyucular ve yayıncılar için fayda sağlar. Yayıncılar için, yayınlanan anlık paradigmaya köle olmanız gerekmediği anlamına gelir. Stok alma, kaliteye odaklanma ve madde içeriği üretme fırsatları vardır. Okuyucular için, her şeyi ve her şeyi “takip etme” baskısı yoktur. Güvendikleri birinin kendi adına küratör olduğu ve iyi bir site (yayıncılar için de faydalar) ile “kıvrılma” fırsatı olduğu bilgisinde rahatlık vardır.
Örnek eksikliği, periyodik yayıncılığın zor olduğu anlamına mı geliyor? Değil. Aslında, bu çok kolay. Bu çözümü tasarlarken basit kalmak, KISS Prensibi’ne uymak için elimden geleni yaptım. “Basit tutmak [aptal]” da sadece anlaşılmayı ve uygulamayı kolaylaştırmakla kalmaz, aynı zamanda mevcut WordPress kurulumuyla biraz veya ek ayarlamalar olmadan çalışacağı anlamına gelir. Peki, periyodik yayıncılıkla ne kastediliyor? Yapacağımız kriterler budur: İçerik bir soruna göre düzenlenmiştir
Yalnızca seçilen sorunun içeriği görüntülenir
Ziyaretçiler, sorunun arka bahçesini ziyaret ederek ve farklı bir sorun seçerek sorunları değiştirebilir
Ziyaretçiler bir sorun için içeriği görebilir
Ziyaretçiler sorunu arayabilir (ve site genelinde)
İçerik modelleri için tek uzatma, sorun adı verilen özel bir taksonomidir, eğer değilse, tıpkı sıradan WordPress siteleri gibi kategoriler, sayfalar ve yayınlar kullanır ve zorunlu temalarda değişiklik yoktur.
30.000 feet’e genel bakış
Özel taksonomi, ağır randevuların çoğunu, ağır randevuların çoğunun, özel taksonomi ile diğer bileşenlerle gerçekten sadece toparlanma ile yapılır. Özel taksonomi, taksonomi ve değer verilirse gönderileri sorunlara dönüştürecek ve otomatik filtreleme sağlayacaktır, bu nedenle mevcut sorunun sitedeki ilgili bir bağlantıya eklenmesini sağlamamız gerekir.
Ev, biraz ekstra yardım gerektirir çünkü bağlantıda herhangi bir sorun olmayacaktır. Bu durumda, mevcut problem değerini depolamak için yapacağımız özel küresel seçeneklere dayalı olarak yayınları filtreleyeceğiz. Mevcut sorunun dışında gezinmememiz için navigasyona (‘navigasyona (‘ bir onay işareti eklememiz gerektiğinden emin olmak için Önceki yayınlar ‘ve’ bir sonraki yazı ‘) bunun yalnızca aynı soruna bağlı olduğundan emin olmak için.
Yeni bir baskı yayınlamak istediğimizde Global Custom seçeneğini güncellememiz gerekiyor. Bunu başarmak için, gönderi kategorisini “ana kategori” olarak aday göstereceğiz ve bu kategoride her yeni yayın yayınlandığında, Global seçeneğini gönderme sorunu ile güncelleyeceğiz.
Sorun yayınlama konusunu biraz daha kolay hale getirmek için, ana kategoride yayınlanırken yayınlanırken, aynı sorunla ilgili diğer tüm yayınları da yayınlayacağız ve “gecikmiş” bir duruma sahip olacağız. Ana kategoriyi yayınlamadan önce tüm yayınları yayınlamak zorunda değildir. “Gecikmeli” durumunu kullanarak taslak görevlerin verilmesini de önleriz.
Yönetici arayüzündeki Ayarlar Sayfası> Genel’e birkaç alan ekleyerek ana kategoriyi yönetme ve hatta geçerli sorunları bir kenara koyacağız.
Ve son olarak, bazı kısa kodlar sağlayacağız. Birisi mevcut sorun için içerik görüntüleyecektir – kategorilerine göre gruplanan sorunların yayınlarının bir listesi; Diğerleri, temelde biçimlendirilmiş ana kategorisinden yayınlanan yayınların bir listesi olan “arka problemlerin” bir listesini sağlayacaktır. Doğrudan koda dalıştan, onu yönetmek, oynamak, ne yaptığını hissetmek daha iyi olabilir ve nasıl olduğunu izlemek daha iyi olabilir tamamlamak.
Periyodik Yayıncılık Nasıl Ayarlanır WordPress sitenizde periyodik yayınlamayı dört kolay adımda ayarlayabilirsiniz: Adım 1 – Eklentiyi indirin ve yükleyin Tüm kodları bir eklentiye sardım, bu nedenle indirin ve WordPress test sitesine yükleyin ve yükleyin. Birkaç sorun yaratın. Adım 2 – Sorunu oluşturun ve ayarlayın
Metabox kullanarak sorunu ayarlayın, yayınlar menüsünün altındaki sorunlardan yeni bir menü seçeneği bulacaksınız. Burada yeni sorunlar yaratabilir ve onlara bir açıklama yapabilirsiniz. Bir açıklama ekleyin çünkü temanızda kullanmak isteyebilirsiniz.
Şimdi, mevcut yayını açın (veya yeni bir yazı oluşturun) ve sorunu sağ kenardaki Meta Sorun kutusunu kullanarak ayarlayın. Adım 3 – Yönetici arayüzünde sabit bir ana kategoriyi ayarlayın, Genel> Ayarlara gidin, dergi ayarları adlı yeni bir bölüm bulacaksınız. Burada ana kategoriyi ve güncel sorunları (en son) ayarlayabilirsiniz. Ana kategoride yayın yapmak bir sorun görevi görür. Bu kategoride bir gönderi yayınladığınızda, yalnızca en son yayın değerini yayınla güncellemekle kalmaz, aynı zamanda aynı yayındaki diğer tüm gönderileri gecikmeli durumla da yayınlar. Ana kategori ayrıca kısa kodlar [backissues] tarafından da kullanılır.
Mevcut sorunu ve ana kategoriyi genel ayarlarda ayarlayın> Mevcut sorunu da ayarlayabilirsiniz. Bu, 2. adımda yaptığınız sorundan oluşan bir açılır kutu olmalıdır. Mevcut sitelerde problem tabanlı yayıncılık uyguladığınızda, mevcut sorunu manuel olarak yönetmek isteyebilirsiniz. Adım 4 – Sayfanın sayfasında uygun kısa kodlar [backissues] ve [içerik] dahil olmak üzere iki yeni sayfa için bir arka sorunu ve içerik sayfası oluşturun. Sitenizdeki menüye yeni bir sayfa ekleyin. Bu, sitenizi sorun tabanlı bir dergiye dönüştürmek için yeterli olmalıdır. Sitenize gidin ve yalnızca mevcut sorun verilen yayınları içeren bir veranda ile karşılanırsınız. Herhangi bir kategori bağlantısını kaydırın, sorunun sorgu dizesine eklendiğini göreceksiniz ve sorunun arşiv listesine getirilmesini sağlayın. Bireysel Post bağlantısı, değişen bir sorgu dizesi gerektirmez, çünkü geçerli sorun yazının kendisinden belirlenebilir. Sitenin etrafında tıklayın, arama yapmadığınız veya sorunları tekrar seçmediğiniz sürece istediğiniz zaman başınız belada kaldığınızı göreceksiniz. Etkili bir şekilde yeni sorunlar seçmekten bir gönderi seçmek ve tekrar aramadığınız sürece bir kez daha bu sorunda kalacaksınız. Siteniz navigasyon gönderisini (önceki yazı ve bir sonraki gönderi) kullanıyorsa, bunun da sorun olduğunu göreceksiniz. Bu, özel bir taksonominin işlevi değildir, ancak sevkiyatın navigasyonu üzerindeki filtre nedeniyle, mevcut sorunun bir parçası olmayan sevkıyatla herhangi bir bağlantıyı silecektir. Ana kategoride yeni bir yazı yayınlamayı da deneyebilirsiniz. Ana kategoride yayınlamadan önce “geciktirilmiş” olarak ayarlanan aynı sorunda birkaç yayınınız olduğundan emin olun ve verilecek tüm yayınların ve mevcut Global Sorun seçeneğinin güncellendiğini göreceksiniz.
Peki her şey nasıl işe yarıyor? Bir dizi bileşen var ama şimdiye kadar en önemli şey özel sorunların sınıflandırılmasıdır. Çözümün Çekirdeği: Taksonomi Özel Sorunları Taksonomi Özel Sorunlar Mesajların belirli sorunlara atanmasına izin verir ve bu, nasıl ve ne zaman görüntülenir. Türler, Özel Alanlar ve Taksonomi Eklentileri Özel, Customom (19 $). Eklenti, şunları ekleyen yeni bir taksonomi yapar:
Taksonomi sorununun yönetilebileceği yönetici arayüzündeki yayın altında yeni problem menü seçenekleri Taksonomi sorununun (örneğin “bir”, “iki”) teriminin bir etiket gibi yazıya belirlenebileceği bir metabox sorunu
Sorun Sütunu Bir Filtre Gönderi Listesi’ne izin veren bir Post Liste ekranına Sorun Teriminde
Taksonomi yapmanın en önemli kısmı Query_Var bağımsız değişkenini True olarak ayarlamaktır. Bu basit atama, taksonomi ve değer terimi URL’ye dahil edilirse otomatik filtreleme gönderimi sağlar.
Misalnya, jika kita memiliki URL magazine.com?issue=two , WordPress akan mengenali bahwa taksonomi (masalah) sedang digunakan dan akan menggunakan istilah (dua) saat mengkueri postingan secara efektif hanya memilih postingan yang telah ditetapkan dengan yang ditentukan ketentuan. Ini, sejujurnya, brilian untuk penerbitan berkala. Dan yang terpenting, pemfilteran hanya terjadi di The Loop dan karenanya tidak berdampak pada menu atau output widget. Tentu saja, itu berarti kita perlu menambahkan taksonomi ke tautan yang relevan di situs. Menambahkan Masalah ke Tautan Halaman dan Kategori Sebenarnya yang perlu kita lakukan hanyalah menambahkan argumen masalah ke tautan ke laman dan tautan kategori. Postingan tidak perlu kita khawatirkan karena kita tidak perlu memfilter dan kita selalu dapat mengambil isu terkini dari postingan itu sendiri. Untuk mengubah string kueri, kami menghubungkan ke filter bawaan yang diaktifkan saat membuat tautan halaman dan kategori dan menambahkan masalah ke argumen kueri.function mag_add_issue_to_link ( $url ) {return add_query_arg( ‘issue’ , mag_get_current_issue() , $url );
}
// ensure issue is added to page links, category links and search links
add_filter( ‘page_link’, ‘mag_add_issue_to_link’ );
add_filter( ‘category_link’, ‘mag_add_issue_to_link’ );
Fungsi mag_get_current_issue() menentukan istilah yang paling tepat untuk taksonomi Issue. Ini dilakukan dalam urutan preferensi berikut:
Jika sebuah postingan sedang ditampilkan, maka dapatkan istilah yang ditetapkan untuk postingan tersebut
Jika string kueri berisi masalah, gunakan nilainya
Dapatkan nilai opsi global “current_issue”
Ana sayfa sayfası için özel tedavi nettir, ziyaretçiler sitenizin ana sayfasına yazılırsa, sayfa için sorun hakkında bilgi yoktur. Ana sayfaya yardımcı olmak için, gönderim gönderisini Pre_get_Posts Eylemlerine bağlanarak gönderme gönderisini manuel olarak filtreliyoruz: Posta kuyruğu çalıştırılmadan önce çağrılan işlevler: query-> is_home () && $ query-> is_main_query ()) {) {
if (! get_query_var (‘sayı’)) {
$ Tax_query = dizi (
dizi (
‘Taksonomi’ => ‘Sorun’,
‘Field’ => ‘Slug’,
‘Terimler’ => mag_get_current_issue (),
)
);
$ query-> set (‘Tax_query’, $ tax_query);
}
}
}
// filtreyi kaydedin
Add_action (‘pre_get_posts’, ‘mag_front_page_filter’);
Bu eylem, her bir yazı için çağrıldı, böylece en önemli husus sadece etkilenen ana sayfadaki ana sorguların olmasını sağlamaktır. Hala sorgu dizesinde bir sorun olup olmadığını kontrol ediyoruz (eğer öyleyse, filtreleme hala gerçekleşecek) ve eğer değilse, Kueri’ye Tax_query argümanını ekleyerek kendi taksonomi filtremizi hazırlıyoruz. Gönderi navigasyon bağlantısı sorunuyla ilgili navigasyon yayınlarının korunması döngüde yapılmamıştır, bu nedenle bir sonraki gönderi bağlantısı ve daha önce filtrelenmemiştir. Bunun kontrol edilmesine izin verirsek, nihayet sorunun dışındaki gönderiye bağlantı ortaya çıkacaktır. Bunun, bağlantıyı döndürmek için next_post_link ve önceki_post_link filtresini kullanarak olmasını önleyebiliriz.
// Bu gönderi mevcut sorun değilse boş dönün
if (! Has_term (mag_get_current_issue (), ‘seri’, $ post)) dönüş ”;
}
// Sonraki ve önceki gönderi bağlantılarına kontrol ekleyin – 4 parametrenin geçtiğinden emin olun, böylece $ göndermek
Add_filter (‘next_post_link’, ‘mag_check_post_navigation’, 10, 4);
add_filter (‘önceki_post_link’, ‘mag_check_post_navigation’, 10, 4);
Sorunun verilmesini kontrol eden ana kategoride sorunların yayınlanması. Ana kategorinin bir editoryal gibi bir şey olabileceğini hayal ediyorum çünkü çoğu dergide genellikle bir tür “hoş geldiniz” yazısı var. Dolayısıyla, ana kategoride yeni bir gönderi yayınlandığında, bu, gönderiye atanan sorunları yayınlayacak ve gecikmiş durumdaki diğer tüm yayınları yayınlayacaktır. Tüm bunlar Publish_Post’a bağlanarak elde edilir. Function mag_check_for_new_ule_on_publish ($ post_id) {
// Bunun bir güncelleme değil gerçek bir yayın olduğunu kontrol edin
if (($ _post [‘post_status’] == ‘yayın’) && ($ _post [‘orijinal_post_status’]! = ‘yayın’) {) {) {
// Ana kategorideki yazı mı?
if (in_category (get_option (‘mag_master_category’), $ post_id) {
// sorunu alın ve bunu global option current_issue’a atayın
$ term = get_the_terms ($ post_id, ‘seri’);
if ($ terimler) {
Update_option (‘mag_current_issue’, $ terimler [0]-> slug);
}
// Aynı konudaki tüm yayınları yayınlayın
$ args = dizi (
‘Posts_per_page’ => -1,
‘Post_status’ => ‘beklemede’,
‘Tax_query’ => dizi (
dizi (
‘Taksonomi’ => ‘Sorun’,
‘Field’ => ‘Slug’,
‘Terimler’ => $ terimler [0]-> slug,
)
)
);
Remove_action (‘publish_post’, ‘mag_check_for_new_issue_on_publish’);
// gönderilerin listesini alın
$ serif_ping_posts = get_posts ($ args); // her post_status’u yayınlamak için ayarlayın ve ayarlayın
foreach ($ pending_post olarak $ serial_ping_posts) {
$ pinging_post-> post_status = ‘yayın’;
wp_update_post ($ pinging_post);
}
Add_action (‘publish_post’, ‘mag_check_for_new_issue_on_publish’);
}
}
}
// Eylemi kaydedin
Add_action (‘publish_post’, ‘mag_check_for_new_issue_on_publish’);
Gönderi yayınlandıktan sonra çağrılan işlev, ilk olarak bunun bir güncelleme değil ilk yayın olup olmadığını görmek için incelenmiştir. Bu kodu yalnızca ilk yayında etkinleştireceğiz. Ayrıca, yayınlanan yayınlar ana kategoride ise işlemeye devam etmek istiyoruz. Bu, ana kategori yayınının ilk yayını ise, önce en son küresel sorunların seçeneğini yayın için belirlenen sorunlarla güncelleriz. İlk sorun her zaman kullanılır, bu nedenle bazı sorunlar belirlendiyse, diğerleri göz ardı edilecektir. Daha sonra şu anda yeni sürümde yayınların bir listesini alıyoruz ve yayınlanacak yayınlama durumunu düzenliyoruz. Get_posts, Posts_per_Page -1’e yapılan çağrılar için bir argüman hazırlarken, get_posts sınırını bir kenara koymak için, Posts_per_Page herhangi bir. Ayrıca, gönderiyi tekrarlamadan önce özel eylemlerin silindiğini de göreceksiniz. Bu, WP_UPDATE_POST’a arama sonucu tekrar çağrılan özel işlevi durdurur ve sonsuz tekrarları önlemeye yardımcı olur. Tüm direkler işlendikten sonra eylem geri yüklendi. Eklentide yer alan kısa üç kısa kodla kısa bir iş yapmak:
[Backissues] Master kategorisindeki tüm yayınları kekolik bir listede görüntüler.
[Display_issue], akım problemini (örneğin “iki”) ve sorunun açıklamasını içeren
görüntüler
Bu eklenti, kısa kodların kısa kodlar için yararlı olabilecek widget’larda kullanılmasına izin verir [Display_issue]. Buradaki konuyla tamamen ilgili olmadığı için burada kısa kodu veya kod ayarını tartışmayacağım. Ancak, Kısa Kod Ateşi ve Codex WordPress’teki API ayarları hakkında daha fazla bilgi edinebilirsiniz. Çözümleri Genişletme Bu çözüm, herhangi bir WordPress sitesinde problem tabanlı yayına izin verirken, bu sadece temel bir çerçevedir ve ihtiyaçlarınızı karşılamak veya temanızla daha iyi entegre etmek için genişletmek isteyebilirsiniz. Bazı ana alanlar:
“Yalnızca Bu Sorun” ve “Tüm Siteler” i etkinleştirmek için aramayı genişletin
Yorumları bir problemle sınırlayın veya en azından sorun terimini görüntüleyin
Özellikle tabletlerde içeriğe daha iyi erişim sağlayın
Ana sayfayı “kapanış” sorununa dönüştürmek
Eminim başkaları da var ama umarım, bu soruna dayalı yayıncılığa ciddi bir şekilde bakmanızı teşvik etmek için oldukça iyi bir başlangıç. Kredi fotoğrafı: Ken Hawkins, Simon Q
Bu kodu kullanırsanız, bana nasıl yaptığınızı söyleyin. Ayrıca, özellikle bu yaklaşımı zaten kullanıyorsanız, problem tabanlı yayıncılık hakkındaki fikrinizi duymakla da ilgileniyorum.
Etiket:
taksonomi