WordPress eklentisinin geliştirilmesine başlamak
Eklenti, web sitenizi değiştiren bir PHP komut dosyasıdır – temel kodu hacklemek zorunda kalmadan sitenizin işlevselliğini genişletmek ve genişletmek için WordPress yüklemenize yüklenebilen (hatta çok fazla!) Kod. Eklentilerle ilgili en güzel şey, temaları değiştirseniz veya WordPress kurulumunuzu artırsanız bile, sitenize özellikler eklemenize ve sağlam kalmanıza izin vermeleridir. Kendi eklentisini yapmak aslında çok zor değildir ve birçok sorunu çözebilir. Functions.php dosyasına yararlı bir kod ve ek özellikleri kopyalamak ve eklemek temanız çok iyidir, ancak temanızı güncellediğinizde bu değişiklik kaybolabilir. Bir eklenti, çapraz tema işlevlerini uygulamanız gerekiyorsa yeni şeyler ve gitmenin yollarını denemenin güvenli bir yoludur.
Bu makale eklentiler yapmanıza rehberlik edecek ve ayrıca bazı orta/gelişmiş kavramlar göreceğiz:
WordPress’i Facebook Açık Grafiği ile entegre eden basit bir eklenti yapmak.
Eklenti nasıl çalışır.
Kancaları kullanarak.
Bir filtre ile başlayın.
Komut dosyaları ve stiller ekleyin.
Bir eklenti ayar sayfası oluşturun.
Çeviri etkinleştir.
Bu yazı eklentilerin geliştirilmesine başlamak için iyi bir rehber sunsa da, geliştirme becerilerinizi geliştirmek istiyorsanız, neden akademiyi kontrol etmiyorsunuz? WordPress’in geliştirilmesinden ve PHP’yi öğrenmekten çevrimiçi bir iş kurmaya ve multisite ustalaşmasına kadar değişen her şey hakkında kurslar vardır. Ve WPMU Dev’in bir üyesiyseniz, Akademiye Ücretsiz Katolaya katılın!
Not: Bu kılavuz, eklentilerin geliştirilmesine başlayanlar için tasarlanmıştır. Dosyaları düzenleme ve bazı Crop -Fecfect HTML ve PHP hakkında biraz bilgi, takip etmeniz gereken her şeydir. Basit Eklenti Projeleri Bu makalede, WordPress ve Facebook Açık grafiğini entegre eden bir eklenti oluşturacağız. Open grafik etiketi, Facebook’a sayfalarınızı paylaşmak ve iyi göründüğünden emin olmak için gereken bilgileri veren özel bir HTML etiketidir. İşte şimdi okuduğunuz sayfalarda kullanılabilecek etiket örnekleri koleksiyonu:
Facebook Açık grafikleri ve Facebook içeriğini Facebook sitesinde paylaşmanın en iyi uygulaması hakkında her şeyi okuyabilirsiniz.
Bu proje için, bir blog makalesi her görüntülendiğinde, web sitesi başlığımıza açık grafik etiketinin eklendiğinden emin olmalıyız. Sitenin başı çoğunlukla meta veriler ve diğer gizli bilgi bitlerinden oluşur ve HTML belgesinde ve arasında eklenir. Bu makalenin bir sonraki kısmı tamamlamaya odaklanacaktır. Bu örnekten sonra, eklenti geliştirme alanını daha derinlemesine keşfedeceğim. Yeni Bir Eklenti Oluşturma Yapmanız gereken ilk şey, eklentinizi saklamak için bir klasör oluşturmaktır. WP-Content/ Eklentileri/ WordPress kurulumunuzda açın ve My-Facebook-Tags adlı bir klasör oluşturun. Eklenti klasörünüzün ne adlandırdığınızı sülük eklentiniz olacağını unutmayın.
Eklenti salyangozu, yüklemek ve halka açık hale getirmek istiyorsanız tüm WordPress eklenti depolarında benzersiz olmalıdır. Yani, bu sümüğü alabilen başkaları tarafından yapılan başka bir eklenti yoktur. Mevcut bir eklenti sümüğünü kolayca bulabilirsiniz, sadece Google’ı kullanın! Eklentinin adının salyangozla aynı olmadığını unutmayın. Ithemes güvenlik eklentisine bakın. URL’nin son kısmı sülük: daha iyi WP-güvenlik. Ancak eklentinin adı Ithemes güvenliğidir. Yalnızca kendiniz eklentiler yaparsanız, sümüğün çatışmadığından emin olmak hala önemlidir. Web sitenizin ömrü boyunca, bir dizi eklenti kullanabilirsiniz ve bunlardan birinin yanlışlıkla mülkünüzle çatışmasını ve adlandırma çatışması nedeniyle sitenizde sorunlara neden olmasını istemezsiniz. Etiketler klasörü, içinde yeni bir dosya oluşturun ve my-facebook-tags.php adımı my-facebook-tags.php. Bu ana eklenti dosyanız olacak ve ad, PHP uzantısı yapıştırılmış olan slug eklentinizle aynı olmalıdır. Eklentinizin ana dosyasını açın ve aşağıdaki kodu yapıştırın:
Çekirdek c0dd60f310eac47df91e içerir
Bu kod, doğrudan WordPress yöneticisinde görülmeyecek bir PHP yorumudur. WordPress, eklentinin adını ve eklenti bölümünde arka uçtaki diğer verileri görüntülemek için içindeki verileri kullanır. Bunu kendi web siteme göre ayarladım, bu yüzden eklentilerin ve diğer dizelerin üreticisini isteklerinize göre değiştirdiğinizden emin olun.
Bu dosyayı kaydettikten sonra tebrikler çünkü ilk eklentinizi yaptınız! Elbette hiç bir şey yapmadı, ancak eklentide mevcut olmalı ve BT-Teşkilatı etkinleştirebilmeli ve şimdi yapabilmeniz gerekir. Eklenti Çalışması Nasıl Facebook Açık Grafik Projemize devam etmeden önce eklentinin nasıl çalıştığını görmek için bir an duralım. Eklenti, kancalarla işlevsellik sağlar, bu nedenle nasıl çalıştığını anlamak çok önemlidir. Kancalar için gerçek dünya analoguna bakalım. İlk cümlenin söylediği küçük günlüğü biliyorsunuz: Ben bir günlüğüm _________. Boş çizgi gerçek adınızı koyduğunuz yerdir. Şirket elbette tüm isimleri kontrol edebilir ve her kalıbı yapabilir, ancak ekonomik olmayacak ve birçok kişi terk edilecektir. Ayrıca, kendi adınız yerine “Galaksinin Efendisi” yi yerleştirmek istiyorsanız ne olur? Boş çizgi bir kanca. Özellikle biri için basılmış yerine, kullanıcıdan kendi adını eklemesini istedi. Kancalar WordPress’te böyle çalışır, bir örneğe bakalım. Başlık dosyasına aşağıdaki işlevi eklemek için tema gereklidir: wp_head (). Bu işlevde WordPress’in söylediği küçük bir kod vardır: Bir eklenti buraya bir kod koymak istiyorsa, bunu yapabilirler. WP_head kancası, sayfanın başında bir şey görüntülememizi sağlar, bu da tam olarak ihtiyacımız olan gibidir. Bunu test edelim ”
Çekirdek c0dd60f310eac47df91e içerir
Yukarıdaki alıntının ilk satırı, WordPress’e my_facebook_tags () () işlevini kullanarak wp_head kancasına birkaç işlev eklemek istediğimizi söyler. İkinci kod satırı işlevi yapar ve üçüncü satır basit bir dize yankılanır. Bu, WP_head () ‘nin işlevini tanımladığı sürece, etkinleştirdiğiniz temanın en üstünde görülecektir (gereksinim olduğunu tanımlamak). Kafada metin görüntüleyemeyeceğiniz için hemen yankılanan dizeyi sileceğiz. Gerçeğin uğruna iki şeyden bahsetmeme izin verin. İki tür kanca vardır: eylemler ve filtreler. Yukarıdaki durumda, Add_action () işlevini kullandığımız için net eylem kullanıyoruz. Eylem, WordPress’in onu çağıran kancayı her tespit ettiğinde gerçekleştirilir. Benzer filtreler ancak WordPress tarafından kullanılan küçük bir veriyi değiştirirler. İyi bir örnek, oturum açma mesajı görüntülenir. Bir oturum açma mesajı her görüntülendiğinde harekete geçmek yerine, filtre, oturum açma mesajını değiştirmenizi sağlar. Burada ayrıntılı olarak tartışmayacağız. Daha fazla bilgi edinmek istiyorsanız, makalemizi, WordPress kancaları için hızlı (ve derinlemesine) bir rehber veya WordPress Codex’i görmenizi öneririm. Burada bahsetmek istediğim son şey, teknik olarak ilişkili olan işlevlerin DO_ACTION () veya Applate_filters () işlevi çalıştırıldığında yürütüleceğidir. Wp_head () işlevi içindeki diğer işlevleri çağrılar içerir – bu kancanın kendisi değildir.
Eklentimizi yukarıdaki açıklamaya göre tamamlarken, WP_head kancasını kullanarak Facebook meta etiketimizi eklememiz gerektiği açıktır. Eklentimiz için kalan kod ve ardından bir açıklama gerekir:
Çekirdek c0dd60f310eac47df91e içerir
Temel olarak meta etiketimizi işlevine olduğu gibi ekledim. Değiştirmem gereken tek şey, şu anda görüntülenen yazıyı yansıttıklarından emin olmak için değeridir. Etiketin yalnızca bir gönderi görüntülendiğinde eklendiğinden emin olmak için IS_SINGLE () koşullu etiketini kullanıyorum. Mevcut gönderiden başlıklar, tırnak, resim vb. Kullanmak için şablon etiketini kullanıyorum. Kullandığım tek hile, onun için Facebook etiketlerini görüntülemeden önce sevkiyatın üstün bir resme sahip olup olmadığını kontrol etmektir. Bu tek işlevle çok yararlı bir şey yaptık. Web sitenizdeki tüm yayınların şimdi Facebook dostu etiketleri olmalıdır. Açık grafik hata ayıklayıcısını kullanarak doğru şekilde düzenlendiklerinden emin olabilirsiniz. Ve şimdi eklentimiz bitti. Şimdi diğer birkaç eklenti konseptine bakalım. Web sitenizin kafasına nasıl bir şey ekleyeceğinizi bildikten sonra doğru arsa için doğru kanca, sitenizin diğer bölümlerine öğeler eklemeyi görelim. Eylem kullanmak oldukça kolaydır. WordPress bir şey yaptığında harekete geçmek istiyorsanız, bir kanca arıyorsunuz. Her sayfada Google Analytics izlemesini yüklemeye ne dersiniz? Bu altbilgide yapılmalıdır. Belki tema wp_head’e benzer bir şey tanımlar? Gerçekten yaptılar. WP_FOOTER kullanarak kodu sayfanın altındaki görüntüleyebilirsiniz. WordPress’in kendisi bu iki kancayı komut dosyalarını ve stilleri doğru yere yerleştirmek için kullanır. Şimdiye kadar kolay çünkü bu tema üzerinde görebileceğiniz bir kanca. Peki ya daha “gizli” vakalar
? Yayın yayınlandıktan sonra yazar gönderisine bir e -posta göndermek istiyorsanız. Bu “eylem” diye bağırdı çünkü diyorsunuz: WordPress bir yazı yayınladığında bir şeyler yapın. Bu kancayı bulmak son yıllarda çok daha kolay hale gelir. Genellikle iyi bir isim verilir: user_register, publish_post, profil_update, vb. Google’a “Kullanıcı WordPress Hook ekle” yazdıysanız, yakında “User_register” ı bulabilirsiniz. Oradan sadece belgeleri okuyun. Yayınları yayınlandığında yazara bir e -posta göndermek için Publish_Post’u kullanalım. Kodumuzu takip edin: Çekirdek C0DD60F310EAC47DF91E içerir
Add_action () işlevini kullandığımda iki ek parametre ayarladığımı unutmayın. Üçüncü parametre, eylemin ne zaman yapıldığını belirleyen önceliktir. Aynı kancaya bazı işlevler eklemek isteyebilirsiniz ve WordPress’in kendisi de dahili olarak kullanabilir. Öncelik ne kadar yüksek olursa, eylem o kadar yavaş olur. Dördüncü parametre, işlevinize kaç argümanın aktarıldığını belirtir. Bu, aramanız gereken bir şeydir, çünkü eylemin adından net değildir. Nerede tanımlandığını görmek için WordPress belgelerini görebilir veya WordPress kaynak koduna bakabilirsiniz – yeni başlıyorsanız birincisi kesinlikle daha kolaydır.
İşlevimde, yazarın e -posta adresini ve başlığını ve gönderiye bağlantı almak için gönderme özellikleri kullanıyorum. Kısa bir mesaj yaptım ve hızlı bir e -posta göndermek için wp_mail () mektubunun işlevini kullandım. Bir kez daha, bunun orada olduğunu nasıl bilebilirim? Google! Kendi posta işlevinizi yazmak çok mümkün olsa da, “WordPress Mail” için hızlı bir arama bu işlevi bir anda ortaya çıkaracaktır. Filtre ile başlayarak, filtrenin kancalara benzer olduğunu önceden söyledim, ancak ek eylem uygulamak yerine kullanılmadan önce verileri değiştirmenizi sağlar. Bu örnek için, www.example.com/wp-dmin adresine yanlış şifreyi yazdığınızda gelen formda aldığınız hata mesajını değiştirelim, çünkü eklentimizden bağımsız olarak bir hata mesajı var-sadece onu değiştirmek isteyin- Büyük olasılıkla filtreyi görüyoruz. Gerçekten de “login_errors” adlı bir filtre var, bu yüzden yararlanalım ve mesajı değiştirelim: C0DD60F310EAC47DF91E’nin çekirdeğini içeriyor
Filtreye eklediğiniz her işlevin ilk parametresi her zaman filtrelenmiş bir veri olacaktır. Bunu değiştirmeden iade ederseniz, orijinal işlevi alacaksınız. Bizim durumumuzda, her zaman aynı hata mesajını gösterelim. Hataların kökünü gizlemek istiyorsanız bu yararlı olabilir. Doğru kullanıcı adını ancak yanlış şifreyi girerseniz, WordPress aslında bunu söyler ve bilgisayar korsanlarına biraz bilgi verir. Bir hata mesajı ile bu bilgiler gizlidir. Filtreler ve eylemler eklentideki hemen hemen her şey için yaygın olarak kullanılır, bu yüzden onu derinlemesine görmenizi ve mekanizmayı tanıtır. Daha fazlasını Codex WordPress’te bulabilirsiniz. Komut dosyaları ve stiller olasılığını eklemek, kendi stilinizi veya JavaScript işlevinizi eklemek istediğiniz belirli bir noktaya gelmektir. Bu, ilgili varlıkları bekleyerek yapılabilir. Enqueing, modüler komut dosyaları ve stiller eklemek, sürece herhangi bir bağımlılığı ele almak için eylemleri kullanır. Aslında Stylesheet: C0DD60F310EAC47DF91E’nin çekirdeğini içeren Google yazı tipi için destek ekleyelim
WP_enqueue_scripts aslında ön ucuna komut dosyaları ve stiller eklemek için kullanıldığından, kullandığımız eyleme korkunç bir isim verilir.İlişkili işlevde, stilimizi eklemek için wp_enqueue_style () kullanıyoruz.İlk parametre sümüklü veya komut dosyası tutamağıdır (bu size kalmıştır) ve ikinci parametre komut dosyası URL’sidir.Http://url.com yerine //url.com kullanmak, tarayıcının uygun komut dosyası sürümünü almasını sağlayan düzgün bir numaradır.Bağlantınız HTTPS kullanıyorsa, HTTPS sürümünü alır, eğer değilse, normal HTTP sürümünü kullanır.Tabii ki eklentinize sahip olduğunuz ve kaydeddiğiniz varlıkları yükleyebilirsiniz.Enqueueing yöntemini kullanarak yaptığımız özel komut dosyasını yükleyelim: C0DD60F310EAC47DF91E’nin çekirdeğini içeriyor
İşlem neredeyse aynı ama wp_enqueue_script () işlevinde daha fazla parametre kullandım. Üçüncü parametre komut dosyası bağımlılıklarını tanımlar. WordPress, bağımlılıkları daha sonra sıraya koysanız bile, bağımlılıklar doğru şekilde yüklenecek şekilde tüm bağımlılıkları doğru yüklemesini sağladı. Dördüncü parametre, kendinizi seçebileceğiniz bir sürüm numarasıdır. Bu ek parametre, wp_enqueue_style () () işlevi için de mevcuttur. Beşinci parametre, true olarak ayarlandığında, WordPress’e komut dosyasını başlıkta değil, altbilgiye yüklemesini söyler. Komut dosyanızın özellikle yükleme süresini azalttığı ve JavaScript’i optimize ettiği için komut dosyanız gerekmezse tercih edilir. Enqueueing hakkında daha fazla bilgi edinmek için WordPress’e doğru şekilde komut dosyaları ve stilleri ekleme makalemize bakın. Bir eklenti ayar sayfası oluşturma Birçok eklenti kullanıcı tarafından düzenlenebilecek çeşitli seçenekler ister. Belki birkaç yayında Facebook Açık Grafik etiketini devre dışı bırakmak, hatta yazdığınız yayınları yayınlarken yazarın e -postasını devre dışı bırakmak istersiniz?
Bunların her ikisi de seçenekler kullanılarak uygulanabilir. Orada birkaç seçenek çerçevesi de dahil olmak üzere kendiniz için seçenekler sunmanın birkaç yolu vardır. Basit seçenekler için bunu kendimiz yapmak daha kolaydır ve öğrenmek için buradayız, bu yüzden başlayalım. Kullanılacak en iyi yöntem nesne yönelimli bir yaklaşımdır, ancak burada daha basit bir yaklaşım kullanacağım. Daha basit ve nesne yönelimli bir yaklaşım için Codex WordPress’teki seçenek sayfasına bakın. Yapacağımız ilk şey, ayarlarımızın kullanıcı arayüzünü yerleştirebileceğimiz arka uçta menü girişini yapmaktır: C0DD60F310EAC47DF91E’nin çekirdeğini içerir
Bunu yapmak için eylemleri – elbette – kullandığımızı unutmayın. WordPress admin_menu kancasını her gördüğünde, onunla ilgili tüm işlevleri çalıştırır. Bir menü yaparken hesaplayacak şekilde kendi işlevlerimizi ekliyoruz. Üst düzey menü girişi oluşturmak için Add_Menu_Page () kullanıyoruz. Bu işlev bir dizi argüman gerektirir:
Başlık Sayfası – Görüntülendiğinde sayfa başlık etiketinde (tarayıcı çubuğunda görüntülenir) kullanılır.
Menü Başlığı – Sol menüde kullanılır.
Kullanıcının yetenekleri sayfalara erişmesine izin verdi.
Slug Menü – URL’deki sayfalar için kullanılır.
İşlevler – Sayfa içeriğini görüntülemek için kullanacağınız işlevleri adlandırın.
Simgeler – Görüntülere veya Dize Dashicons’a URL.
Öğenizin tüm menüsünde konumu.
Boş bir işlev yaptım my_plugin_settings_page () (bunu beşinci parametre olarak eklediğimi göreceksiniz). Bu işlevin içeriğini yakında ekleyeceğim. Bu aşamada, menünün altında yeni bir menü girişi görebilmeniz gerekir. Ayarları manipüle etmek için kullanıcı arayüzünü yapmadan önce WordPress’e hangi ayarları kullanmak istediğimizi söyleyin. Buna ayarlarımızı kaydetmek denir. Bu örnek için, web projemizin bir parçası olmayan bazı kilit personellerde iletişim bilgilerini depolamak için bir yer yapmak istediğimizi varsayalım.
Gördüğünüz gibi, işlevi admin_init olarak bağlıyorum, içinde seçeneklerimizi eklemek için register_sets () kullanıyorum. İlk parametre bir seçenek grubu olmalı, ikincisi gerçek seçenektir. Yalnızca birkaç seçeneğiniz varsa aynı seçenek grubunu kullanmanızı öneririm. Peki admin_init’i burada kullanmam gerektiğini nasıl bilebilirim? KODEX WordPress elbette! Bazı durumlarda, kullanmanız gereken kancalar açıktır. Diğer durumlarda, onu aramalısınız. Bazı durumlarda, işlevselliği korurken farklı kancalar kullanabilirsiniz. Bu durumda genellikle bir şeyler yapmanın önerilen bir yolu vardır. Kancayı uygulamadan önce daima Codex’te arama yapın ve iyi olacaksınız. Şimdi bir yönetici menü girişimiz var ve ayarlarımızı kaydettik, kullanıcı arayüzünü görüntülemek için bir form oluşturalım. Aşağıdaki kodu my_plugin_settings_page () boş işlevine yapıştırın:
Çekirdek c0dd60f310eac47df91e içerir
Böyle bir form oluştururken hatırlanması gereken üç şey var:
Settings_fields () işlevini kullanın, seçenek grubunu ilk parametre olarak ekleyin. WordPress’in verilerinizi saklamak için kullanacağı birkaç gizli alanı gösterir. Giriş adı parametresine kaydederken ayarladığınız seçeneğin adını kullanın.
get_option () alan değeri get_option () function (), get_option () seçeneğinin adı ilk parametre olarak seçeneğinin adı
Oluşturduğumuz ayar formu. Bununla bitmişsin! WordPress tüm depolama alanını işler, çünkü varsayılan seçeneği yangın kullanırsınız. İyi bitti! Kendiniz için bir eklenti yaptığınızda bu çeviriyi etkinleştirmek açıkça bir öncelik değildir, ancak çevirinin hazır olmasına alışmak daha iyidir, çünkü bu herhangi bir kamu eklentisi için iyi bir uygulamadır. Temel bilgiler çok basit. Birkaç metni her görüntülediğinizde, __ () işlevini veya _e () işlevini sarın. Dizeyi geri yüklemek için ilk kullanın, o zaman yankılanmak için. Örnek olarak:
Çekirdek c0dd60f310eac47df91e içerir
İşlevin ilk bağımsız değişkeni çevrilecek bir dizedir, ikincisi metin alanıdır. Bu, eklenti salyangozunuzla aynı olmalıdır. Bu işlevleri kullanarak, başkalarının eklentinizi kendi dillerine çevirmesine izin vereceksiniz. Bu, birçok insana yardımcı olabilecek basit bir prosedür, neden bunu yapmıyorsunuz? Bu iki işlevden biraz daha fazlası var, ancak sadece üstünüzde bilerek oradaki yolun% 99’u. Eklentileri çevirme hakkında daha fazla bilgi edinmek için, tercüme edilebilecek bir tema veya eklenti nasıl yapılır makalemize bakın. Sonuç Eklentilerle yapabileceğiniz birçok şey vardır ve neredeyse mümkün olduğunca çok şey vardır. WordPress standartlarından çok güçlü bir destek olmama ve işleri doğru bir şekilde yapmama rağmen (birçok durumda nesne odaklı yaklaşım), herkesi denemeye teşvik ediyorum. Dağıtım için bir ürün yapmadığınız sürece, lütfen istediğiniz her şeyi yapın. Anlamadığınız bir metodoloji ile hayatınızı karmaşıklaştırma konusunda endişelenmeyin. İşlev eklemenize ve her şeyin mümkün olduğunca çalışmasını sağlayabilmenize yardımcı olabilecek kancayı incelemek için elinizden geleni yapın. Doğru şeyler yapmak için bilgi, yanlış şeyler yapabildikten sonra her zaman size gelir, bu yüzden şimdilik kuralları çok fazla umursamayın. Kendi eklentinizi yaparak iyi şanslar! WordPress eklentileri için fikriniz nedir? Eklentilerin geliştirilmesi hakkında başka ne öğrenmek istiyorsunuz? Bize aşağıdaki yorumlarda anlatın.
Etiket:
geliştirici
Premium eklenti