Tema geliştiricileri ve eklentileri çoklu WordPress için oluşturulmalı mı?
Tema geliştiricisi veya eklenti olmak zor bir iştir. WordPress güncellemeleri, hata iyileştirmeleri, PHP sürüm uyuşmazlığı ve müşteri desteği arasında yüzleşmeniz gereken birçok şey var. Ve soran birçok potansiyel kullanıcısı unutmayın, bu çok bölgeli uyumlu mu? Bu oldukça yaygın bir sorudur ve bu her geliştirici tarafından dikkate alınan bir şey olmayabilir. Bu yüzden, çoklu WordPress’in gelişimi hakkında daha derine inmek istiyorum ve özellikle geliştirme sürecinize çoklu kurulum girmeniz gerektiğinde. Neden Multisite için inşa? Sorun bu. WordPress’i yüklediğinizde ve bir web sitesi oluşturduğunuzda, kendinize sorduğunuzda WordPress Multisite için mi oluşturmalıyım? , Cevap daha fazlası olmayacak, evet olacak. Ancak, eklentilerin ve temaların geliştirilmesinde iseniz durum değişir. Maura Teal, Wordcamp San Diego’daki konuşmasında neden iyi geliştiricilerin multisite agnore yapmadığı başlıklı konuşmasının birkaç nedenini tartıştı. Tahmin et hangi noktada yapmaya çalıştı.
Multisite olana toplam genel bakışımızı görebilirsiniz, ancak temel çekirdek şudur: Bir WordPress kurulumu site ağına güç verir. WordPress.com aslında pratikte bir örnektir. Bu çok harika bir özellik ve Maura Teal doğru – onu görmezden gelemezsiniz. Ancak, eklentinizin veya temanızın onunla çalışmasını istiyorsanız, özel çaba sarf etmeniz gerekir. Bkz. Multisitus kurulum paylaşım veritabanları ve veritabanındaki bazı tablolar siteler arasında (örneğin, Usermeta) dağıtılırken, diğerleri yapmaz. Ayrıca, tüm ağın aktivasyonu, tablolar yapmak, eklentinin devre dışı bırakılması ve diğer bazı hız engelleri ile büyük bir sorun yaşayabilirsiniz. Öyleyse … Neden bu sorunu çözmek için gerçekten zaman ayırmalısınız? Önce … birçok insan çoklu uyumluluk istiyor. Bu varsayılan bir ayar olmayabilir, ancak insanlar bunu kullanır. Çok. WP Water Cooler bölümünde, panel WordPress eklentisini başlattıktan sonra ne yapmanız gerektiğini tartışıyor. Tartışmanın bir parçası olarak, genel destek ve özellik talepleri konusundan bahsettiler. Çeviri ilk bahsettikleri. WordPress mega-global, değil mi? Ama bundan sonra … çok bölgeli uyumluluk ortaya çıkan bir sonraki sorun. Ve bu sadece geliştirici ile podcast bölümünde görünmüyor. Soru tüm WordPress.org destek forumlarında görüntülenir.
Evet, çoğu WordPress kurulumu bir site kurulumudur. Ancak orada çok sayıda çoklu WordPress kullanıcısı var ve web yöneticileri WP sürümleriyle eşleşen eklentiler ve temalar istiyor.
Shibashake’in WordPress Multi-site için bir eklenti yazın
Multisite WordPress ile uyumlu bir eklenti yapma hakkında wphub gönderiyor
OnextIxel Çoklu WordPress için eklentinizi nasıl düzelteceğiniz
1. Net ölçeklenebilirliğe ekstra odak verin, kodunuzu her zaman mümkün olduğunca verimli hale getirmeye çalışmalısınız. Ancak sıradan bir WordPress kurulumuyla çalıştığınızda, biraz daha boşluğunuz var. Ve bunu yaptığını söylemiyorum, ama sen … performans optimizasyonu açısından biraz tembel olabilirsiniz. Her DB sorgusunu düzenliyor mu? MMM … Bu tür kısayollar, kullanıcılarınız ağlarındaki 300 siteyi yönettiğinde artar. Eklentiniz veya ölçeklenebilirlik performansınız ve ölçeklenebilirliğiniz çok daha önemlidir. Dahası, kod tam olarak iyi optimize edilmezse müşterileri ve kullanıcıları kaybedebilirsiniz.
2. Veritabanı tablosu adını kullanın, veritabanı tablosuna sahip multisite çalışma yöntemi nedeniyle, neredeyse kodlanmayan tablonun adına çağrılardan kaçınmalısınız. Bir ağdaki yemek siteleri bir veritabanını paylaşır, ancak her biri kendi tablosunu oluşturur. Örneğin, WP_Posts’ta bir şey çalıştırmaya çalışırsanız, MultiSite ile ilgili bazı sorunlarınız olacaktır. Doğru yol, kodunuzu kim çalıştırırsa çalışsın, tek ve çok bölgeli bir site için her zaman doğru veritabanı tablosu adını almanızı sağlamak için Global Nesne $ WPDB’yi kullanmaktır. Bu yapmak zor bir değişiklik değil, ama bu bir değişiklik. Etkinleştirme ve deaktivasyon hakkında düşünün, eklentiniz aktivasyon işlemi sırasında bir tablo oluştursa, çoklu bir kurulumda her blogda tekrarlamanız gerekir (eklentinin ağ boyunca etkinleştirildiği varsayılarak). Eklentiniz etkinleştirildikten sonra çoklu bir ağa yeni bir blog eklenirse ne olur? Bu gibi durumlarda, her yeni site eklendiğinde gereken bir DB tablosu oluşturmak için kodunuzun etkinleştirme işlevini çalıştırdığından emin olmalısınız. Ve elbette, aynı kural kurulumun devre dışı bırakılması ve kaldırılması için de geçerlidir. Ayrılmadan önce kaosunuzu temizlediğinizden emin olun.
4. Yönetici seçeneğini ve kullanıcı iznini belirli kod değişikliklerinin dışında göz önünde bulundurun, arayüz seçeneği hakkında daha fazla düşünmeniz gerekir.Örneğin, eklentinizden süper multisite yöneticinin tüm ağı kapatmak için ihtiyaç duyabileceği özel bir özellik var mı?Post tablo boyunca çalıştırılan Maura WP-Cron çağrılarına örnekler iyi çizimlerdir.Bir sitede, elbette!Sorun değil … ama 300 mi?Ağı Reddit’in ön sayfasında bir bağlantı almak kadar hızlı batırabilir.Buna ek olarak, Multisite’deki tema ile ilgili bazı sorunlar duydum, burada sadece süper yöneticinin tema ayarlarını yönetebileceği.Bazı durumlarda iyidir, ancak süper yönetici her site kullanıcısının sitelerinin görünümünü değiştirmesini istiyorsa … yine sorun.Multisite kodlamasının bir kısmı, böyle kullanım olasılığını ve durumunu düşünmektir.