Tema ve Eklenti Geliştiricileri WordPress Multisite İçin Oluşturmalı mı?
Bir tema veya eklenti geliştiricisi olmak zor bir iş. WordPress güncellemeleri, hata düzeltmeleri, PHP sürüm uyumsuzlukları ve müşteri desteği arasında uğraşmanız gereken çok şey var. Ve bu Multisite uyumlu mu diye soran çok sayıda potansiyel kullanıcıyı da unutmayın. Bu oldukça yaygın bir sorudur ve her geliştiricinin düşündüğü bir şey olmayabilir. Bu yüzden, WordPress Multisite geliştirmesine ve özellikle Multisite kurulumlarını geliştirme sürecinize dahil etmeniz gerektiğinde biraz daha derine inmek istedim.
Neden Multisite için Oluşturun?
Sorun şu. WordPress kurarken ve web siteleri oluştururken, kendinize şunu sorduğunuzda WordPress Multisite için oluşturmalı mıyım? , Cevap hayır çok daha evet olacak daha olacak. Eklenti ve tema geliştirme aşamasındaysanız durum tersine döner. Maura Teal, WordCamp San Diego'daki İyi Geliştiricilerin Neden Multisite'yi Yoksaymadığı başlıklı konuşmasında bazı nedenleri tartışıyor . Hangi noktada yapmaya çalıştığını tahmin edin.
Multisite'ın ne olduğuna dair genel bakışımıza göz atabilirsiniz, ancak bunun temel özü şudur: bir WordPress kurulumu bir site ağına güç sağlar . WordPress.com aslında pratikte bunun bir örneğidir.
Bu gerçekten harika bir özellik ve Maura Teal haklı – bunu görmezden gelmemelisiniz. Ancak, eklentinizin veya temanızın onunla çalışmasını istiyorsanız, biraz özel çaba göstermeniz gerekir. Bakın, Multisite kurulumları bir veritabanını paylaşır ve bu veritabanındaki bazı tablolar siteler arasında paylaşılırken (örneğin usermeta ), diğerleri paylaşılmaz. Ayrıca ağ genelinde etkinleştirme, tablo oluşturma, eklenti devre dışı bırakma ve diğer birkaç hız tümseği ile ilgili önemli sorunlarla karşılaşabilirsiniz.
Öyleyse… neden bu sorunları çözmek için gerçekten zaman ayırmalısınız?
Peki, ilk önce…
Birçok Kişi Çoklu Site Uyumluluğu İstiyor
Yok canım. Varsayılan ayar olmayabilir, ancak insanlar bunu kullanır. Çok fazla. WP Water Cooler'ın bir bölümünde panel, bir WordPress eklentisini başlattıktan sonra ne yapmanız gerektiğini tartışıyor. Bu tartışmanın bir parçası olarak ortak destek sorunları ve özellik istekleri hakkında konuştular.
Bahsettikleri ilk çeviriydi. WordPress mega küresel, değil mi? Ancak bundan sonra… Çoklu site uyumluluğu, ortaya çıkan bir sonraki konuydu. Ve sadece geliştiricilerle podcast bölümlerinde ortaya çıkmaz. Soru, WordPress.org destek forumlarının her yerine yapıştırılmıştır.

Evet, çoğu WordPress yüklemesi tek site yüklemesidir. Ancak çok sayıda WordPress Multisite kullanıcısı var ve bu web yöneticileri, WP sürümleriyle iyi çalışan eklentiler ve temalar istiyor.

O Kadar Zor Değilse…
Aynı WP Water Cooler konuşmasında, 9Seeds'ten Jon Brown, Multisite için geliştirmenin en büyük nedeninden bahsetti: En başından kodlarsanız o kadar da zor değil.
Yani, bir Multisite ortamında test ederseniz ve Multisite uyumluluğunu göz önünde bulundurarak kodlarsanız, aslında o kadar da fazladan bir iş olmaz. Yapmanız gereken gerçek işin çoğu, gerçekten sadece en iyi uygulamaları takip etmektir. Genel zaman çizelgenize biraz katkıda bulunabilir, ancak geliştirme sürenizi veya bu kadar sert bir şeyi iki katına çıkarmaz.
Çoklu Site Uyumluluğu Daha Sonra Ekleniyor, Yine de…
Yapışkan bir duruma girebileceğiniz yer burasıdır. Bunun için plan yapabileceğiniz için Multisite uyumluluğu eklemek o kadar da zor değil. Olaydan sonra kod tabanınıza geri dönmek ve Multisite uyumluluğu eklemeye çalışmak, birçok spagetti kodunu çözmeyi içerecektir.
Diyelim ki, bir eklentiyi mümkün olduğunca çabuk kurmak ve çalıştırmak istediğiniz için Multisite uyumluluğunu görmezden geliyorsunuz. Eklentiniz büyük bir başarıya ulaşırsa ne olur? Bu harika! Tebrikler! Artık destek biletleri gelmeye başladı, Multisite ile ilgili çok sayıda yorum ve soru alıyorsunuz ve hayır derseniz… bu çok fazla müşteri, gelir ve dürüstçe marka sadakati kaybı demektir. Çünkü ya o insanları görmezden gelirsin ve yoluna devam edersin. Ya da geri dönmeyi deneyebilir ve her şeyi güçlendirmeyi deneyebilirsiniz.
Her iki çözüm de özellikle çekici değildir.
WordPress Multisite Oluştururken Dikkate Alınması Gereken Özel Konular
Diyelim ki Multisite için geliştirmeye başlamaya ikna oldunuz. Peki bu aslında neyi içeriyor?
Bu çok kapsamlı bir liste olmasa da, geliştirmenizi planlarken göz önünde bulundurmanız gereken daha büyük sorunlardan bazıları bunlardır.
Bu arada, Multisite ve tek site geliştirme arasında ayrım yapmakla ilgili birçok kod olabilir ve şimdiden harika örnekleri olan insanlar var. Onları tamamen kontrol etmelisin. Bunlar, kontrol etmenizi önerdiğim bir avuç harika kaynak.
- ShibaShake , WordPress Çoklu Site İçin Bir Eklenti Yazıyor
- WPHub'ın Eklentileri WordPress Multisite ile Uyumlu Yapma konusundaki gönderisi
- Onextrapixel'in Bir WordPress Multisite için Eklentinizi Nasıl Düzgün Kodlayın
1. Ölçeklenebilirliğe Ekstra Odaklanın
Açıkçası, her zaman kodunuzu mümkün olduğunca verimli hale getirmeye çalışmalısınız. Ancak tipik WordPress kurulumlarıyla çalışırken biraz daha fazla hareket alanınız olur. Bunu yaptığınızı söylemiyorum ama… konu performans optimizasyonu olduğunda biraz tembel olabilirsiniz. Her bir db sorgusunu düzenliyor musunuz? Mmmm…
Bu tür kısayollar, kullanıcılarınız ağlarında 300 siteyi yönetirken eklenir. Eklentinizin veya temanızın performans performansı ve ölçeklenebilirliği çok daha önemlidir. O kadar çok ki, kod yeterince iyi optimize edilmemişse müşteri ve kullanıcıları kaybedebilirsiniz.
2. Uygun Veritabanı Tablo Adlarını Kullanın
Multisite'ın veritabanı tablolarıyla nasıl çalıştığından dolayı, sabit kodlanmış tablo adlarına çağrı yapmaktan kaçınmanız gerekir. Ağdaki Eat sitesi tek bir veritabanını paylaşır, ancak her biri kendi tablolarını oluşturur. Bu nedenle, örneğin wp_posts üzerinde bir şey çalıştırmayı denerseniz , Multisite ile ilgili bazı sorunlarınız olacaktır.
Doğru yol, kodunuzu kim çalıştırıyor olursa olsun, hem tek site hem de Çoklu Site için her zaman doğru veritabanı tablosu adlarını aldığınızdan emin olmak için $wpdb global nesnesini kullanmaktır. Yapılması zor bir değişiklik değil, ama yine de bir değişiklik.
3. Aktivasyon ve Devre Dışı Bırakmayı Düşünün
Eklentiniz, örneğin etkinleştirme işlemi sırasında bir tablo oluşturursa, bunu bir Multisite kurulumundaki her bir blogda yinelemeniz gerekir (eklentinin ağ genelinde etkinleştirildiği varsayılarak).
Eklentiniz zaten etkinleştirildikten sonra bu Multisite ağına yeni bir blog eklendiğinde ne olur? Bu tür durumlarda, yeni bir site eklendiğinde gerekli db tablosunu oluşturmak için kodunuzun etkinleştirme işlevini çalıştırdığından emin olmanız gerekir.
Ve elbette, aynı kurallar devre dışı bırakma ve kaldırma için de geçerlidir. Ayrılmadan önce pisliğinizi temizlediğinizden emin olun.
4. Yönetici Seçeneklerini ve Kullanıcı İzinlerini Düşünün
Belirli kod değişikliklerinin ötesinde, arayüz seçenekleri üzerinde biraz daha düşünmeniz gerekir. Örneğin, Eklentinizin, Çoklu Site Süper Yönetici'nin ağ genelinde kapatması gerekebilecek belirli bir özelliği var mı?
Maura'nın tüm gönderiler tablosundan geçen bir wp-cron çağrısı örneği iyi bir örnektir. Bir sitede, elbette! Bu gayet iyi…ama 300'de? Reddit'in ön sayfasında bir bağlantı almak kadar hızlı bir şekilde bir ağı batırabilir.
Ayrıca, Multisite'da tema ayarlarını yalnızca Süper Yöneticinin yönetebildiği temalarla ilgili bazı sorunlar olduğunu duydum. Bazı durumlarda bu sorun değil, ancak Süper Yönetici her sitenin kullanıcılarının sitelerinin görünümünü değiştirmesini istiyorsa…yine sorunlar. Multisite için kodlamanın bir kısmı, bunun gibi olası olasılıkları ve kullanım durumlarını düşünmektir.
Yani… Yapmalısın?
Sonuç olarak, WordPress Multisite, WP topluluğunda bazı güçlü fikirler üretir. Bazı insanlar onu gerçekten seviyor. Bazı insanlar gerçekten nefret ediyor. WordPress Multisite Kullanmayın başlıklı WordCamp konuşmaları vermekten yeterince nefret edin. Yine, yapmaya çalıştıkları noktayı tahmin edin. (Kuşkusuz, bu özellik için birçok güncelleme yapılmadan önce bu daha eski bir konuşma, ancak benim anlatmak istediğim ideoloji.)
Sonunda, Multisite için eklenti ve tema geliştiricilerinin oluşturması gerekip gerekmediği, belki de büyük bir ole . Genel halk için geliştiriyorsanız, temalarınızı ve eklentilerinizi depoya koyuyorsanız veya kendi başınıza satıyorsanız, kesinlikle projenizi Multisite ile çalışacak şekilde kodlamak için zaman ayırmalısınız. Geliştirme süresinin kapladığından daha fazla fırsat açar.
Ancak müşteriler için web siteleri geliştiriyorsanız, Multisite genellikle çözüm değildir. Multisite kullanırken belirli durumlara sahip olacaksınız, ancak çoğu zaman mantıklı olmayacaktır. Birçok müşteri için, Multisite kurulumlarının sağladığı ekstra özellikler, kullanışlı olmaktan çok bunaltıcıdır.
WordPress Multisite geliştirme hakkındaki düşünceleriniz nelerdir?
Makale, Jiw Ingka / Shutterstock.com'dan küçük resim içeriyor
ev borcu WordPress sitesi