WordPress kanca sistemini anlayın ve kullanın

Son zamanlarda birkaç WordPress web geliştirme konusunu tartıştık, bu nedenle kancaları, eylemleri ve filtreleri duymuş olabilirsiniz. Bu, WordPress tarafından kullanılan olay tabanlı mimarinin kullanımının önemli bir parçasıdır. Ve onlar, ihtiyaçlarınıza uygun kendi WordPress’inizin kendi “versiyonunuzu” oluşturmanın yoludur. Kısacası, olayların yönlendirdiği mimari, belirli koşulları değiştiren ve daha sonra buna göre tepki veren olayları dinlemenin bir yoludur. Tepkiniz, yazdığınız şey, WordPress işlevini genişletmek istediğiniz işlevselliği nasıl oluşturabileceğinizdir.
Çok basit bir örnek olarak, WordPress yayınlarını yayınlamak, durumu değiştiren bir etkinliğin (publish_post) örneğidir. Bu, CMS’yi zengin bir ekosistem haline getiren ve binlerce zengin özelliklerle gelişen WordPress genişletilebilirliğinin temelidir. WordPress kancalarını kullanmanın bu kadar önemli olmasının başka bir temel nedeni daha var. Kancaları kullanarak, herhangi bir çekirdek kaynak kodunu düzenlemeye gerek kalmadan WordPress’i genişletebilir ve geliştirebilirsiniz. Aslında, bu ifadeyi tekrarlayayım. WordPress’in (veya işyeri) geliştirilmesi için kullandığınız kişiler varsa, WordPress kodunda çekirdeğte değişiklikler önerirken, bunları yerinde etkinleştirin.
WordPress sitesini yükseltme yeteneğine zarar vermek isteyen herkes, neden bahsettiklerini bilmiyorsunuz. Güvenliğin temellerini anlarlarsa, bunu yapmayı bile düşünmeyeceklerdir. Bunun hakkında daha önce konuştuk. WordPress’i (tema ve eklenti) mevcut en son sürüme güncellemek, WordPress’i güvence altına almanın temellerinden biridir. Temel kaynak kodunu değiştiren geliştirici, web sitenizi oturma ördekine bırakacaktır. Kiraladığınız geliştiriciler bu kadar tehlikeli yollar almaya istekli ise, kodlamanın temellerinde de deneyimsizdirler. Büyük olasılıkla yazdıkları kodla kaos yapacaklar, bıraktıkları kaosu temizlemek için sizi (veya onlardan sonra istihdam ettiğiniz kişiyi) bırakacaklar. Öte yandan, WordPress tarafından verilen kancayı ve diğer tüm genişletilebilirlik seçeneklerini kullanırsanız Siz, WordPress yeteneğinizin iyileştirilmesi garanti edilir. Bu, WordPress Core güncellemesi her yayınlandığında, WordPress’inizi en son sürüme güncellemek kodunuza zarar vermez. Kendi özel gelişiminizi geliştirme konusunda endişelenmenize gerek yok. Kanca geride bırakılmadığı sürece, ayarınız artıştan dayanacaktır. Daha da önemlisi, WordPress’iniz en son WordPress Core güncellemeleri aracılığıyla güvence altına alınan herhangi bir WordPress güvenlik açığından korunmaktadır.
Daha fazla bilgi edinmek ister misiniz? Codex WordPress, geliştiriciler için kod referansları da dahil olmak üzere kancalar için eksiksiz yönergeler sağlar.

Kanca, eylem veya filtre? Herhangi bir şey? Kancalar temel olarak WordPress işlevselliği, tema veya eklentinin yürütülmesi sırasında meydana gelen olaylardır. Ama neden gerçekten kancalar deniyor? Belirli işlevselliği genişletmek veya uygulamak isteyen geliştiriciler, etkinliğe “bağlanabilir” ve olayla ilgili belirli eylemleri alabilirler. WordPress yürütme aşamasından geçerken, o sırada yürütülecek bir işlevi kaydetmiş bir eklenti (veya tema) olup olmadığını görmek için “inceledi” ve bulunursa işlev o zaman gerçekleştirildi. Kancaları, eylemleri ve filtreleri oldukça iyi açıklamak, ancak bu bilgileri elbette ekledim. İki ana kanca türü vardır
Eylem (diğer adıyla kanca eylemleri)
Filtre (aka kanca filtresi)
Aslında, bu elde edebilecekleri konusunda çok benzer, ancak bazı ince farklılıklar var. Eylem kancaları ve kanca filtresi arasındaki fark, farkı tartışmadan önce aynı olanla başlayalım. Hem eylem hem de filtre kancaları bir dizi parametre aracılığıyla veri alır. Eylemler ve filtreler de çoğunlukla aynı şeyi yapabilir (WordPress kaynak koduna bakmanız gerekiyorsa, eylemleri uygulayan kod işlevinin yalnızca filtre kodu işlevinin sarılması olduğunu göreceksiniz).
Bununla birlikte, iki tür WordPress kancası arasında bir ana fark vardır. Değeri geri yüklemek için filtre kancaları gereklidir, kanca değildir. Özünde, kanca filtresi ile ilişkili işlev belirli bir değer elde eder, işini gerçekleştirir ve daha sonra bu değerin değiştirilmiş (veya değil) versiyonunu geri yükler. Eylem kancasının değeri döndürmesi gerekmez. Daha pratik bir terimde, bir kanca filtresi ile, genellikle içeriğiniz üzerinde çalışır, “değiştirme” yaparsınız ve ardından içeriği geri yüklersiniz. Örneğin, aşağıda göreceğimiz gibi, kanca filtresi Title_save_PRE, Post başlığında işlev görürken, Content_save_PRE yayın içeriğinde işlev görür. Öte yandan, bir şey yapmak için eylem kancası (veriler üzerinde çalışabilir veya yalnızca veriler kullanabilir). Bir olay meydana geldiğinde. Publish_post eylemi, bir gönderi yayınlandığında tetiklendi. Bir aksiyon kancasını ne zaman ve nasıl kullanacağınız için kancayı kullanmanız gerekir:
HTML veya diğer içeriklerin arabellek yanıtına enjeksiyonu
Bir veya daha fazla küresel değişkeni değiştirin
Hook işlevinize iletilen parametreleri değiştirin
Eylem kancaları nasıl eklenir: add_action ($ kanca, $ function_to_add, $ öncelik, $ cpabired_args); $ Hook’un ilişkilendirilmesi istediğiniz eylem olacağı yer, $ function_to_add ise, kanca tetiklendiğinde yürütülecek bir işlevdir.
Bu makalede bunu daha fazla yapmak için bazı somut örnekler göreceğiz. Filtre kancasını nasıl ve ne zaman kullanacağınız, yukarıdakilerden birini yapmanız gerektiğinde filtreyi kullanabilirsiniz, ancak veri parametrelerinin değerini de değiştirmeniz istersiniz. Aslında, bu sadece bir arzu değil, bu bir gereklilik. Filtre kancasını kullanıyorsanız parametrenin değerini geri yüklemelisiniz. Filtre kancaları nasıl eklenir, eylem kancaları nasıl ekleneceğine çok benzer: add_filter ($ hook, $ function_to_add, $ öncelik, $ consired_args); Yine, $ Hook kullanım için bir kanca filtresi olacak ve $ function_to_add yazacağınız bir işlevdir. Filtreyi silin ve eklediğiniz WordPress kancasını kaldırma eylemini kanca oldukça basittir. Bu, kancalar eklemenin tam tersidir ve çok benzer bir sözdizimine sahiptir: remove_ace ($ kanca, $ function_to_remove, $ priority); remove_filter ($ kanca, $ function_to_remove, $ öncelik);
$ Öncelik argümanı isteğe bağlı bir argümandır. Add_filter ve remove_filter durumunda, $ prioIrity, aynı filtre veya kancada “zincirlenmiş” veya tek tek çalıştıran bazı kancalar varsa tetikleyici sırasını belirler. Teori ile yeterince, bana bazı WordPress kancaları örnekleri verin! Kullanabileceğiniz birçok WordPress kancası olduğunu söylemiş olsam da, size tam olarak ne olduğunu göstermedim.
İşte Codex WordPress’e ait, kullanabileceğiniz filtrenin tüm kancalarının bir listesi bulunurken, bu tüm eylem kancalarının bir listesidir. Gördüğünüz gibi, WordPress’te ilişkilendirebileceğiniz işlevsellik çok geniştir. Aslında, kanca olmayan kullanım vakalarını bulamazsınız. Ve böyle bir kullanım vakası bulursanız, WordPress’e katkıda bulunmak ve yaklaşan WordPress sürümüne dahil edilmesini önerebilirsiniz! Yazma sırasında, kullanabileceğiniz 1900’den fazla kanca var. Bakalım, WordPress çekirdeği aracılığıyla mevcut olmayan bazı basit ek işlevleri nasıl yapmak için bunları nasıl bağlayabileceğimizi görelim. Filtre Hooks #1 Bu makalenin başında, durum değişikliklerinin örneklerinin WordPress makale yayınları olduğunu belirttim. Bu örnek için, yapacağımız şey, her yazının altında bir ilişkilendirme bağlantısı yapmaktır, böylece birisi web sitesi anahtarları, stok ve (iki sigara) varildeki makalemizi bastırırsa, en az bir backlink’e sahip olacağız. tekrar sitemize. Bu nedenle, WordPress veritabanına kaydetmeden önce gönderme içeriğinde yürütülen Content_save_PRE kanca filtresini bağlayacağız.
Çekirdek verileri içerir 21/85d3b7c52375cb64b3Affffedab5cc4
Gördüğünüz gibi, bir filtre kancası olarak, içeriği değiştirir, sonra geri döndürürüz. Diğer Filtre #2 filtre kancalarının örnekleri, gerçekten çıkışı düzenleyen oldukça basit. Marka ve SEO amaçları için, şirketinizin adını her WordPress gönderisindeki başlığa eklemek istersiniz. SEO eklentisini kullanmak veya yazarınızdan manuel olarak yapmasını istemek yerine, WordPress başlığına erişildiğinde bunu yapan bir filtre kancası yapabilirsiniz. Durum GIST DATTARD21/84CCA7719661E8C603D03370F82AB852

Tekrar görebileceğiniz gibi, bir kez daha, filtre kancamızın bir örneği, başlıkta bazı değişiklikler yapmak ve daha sonra iade etmek için title_save_pri kullanır. Bir filtre örneği ile yeterince, birkaç eylem kancası örneğine girelim. Göreceğiniz gibi, bunun temel farkı herhangi bir değeri geri yüklemeyecekleridir. #1 Action Hook’unuzun örneği, yayınınızdaki yayın düğmesine basmanın yayınlama aşamasının sonu olduğunu, ancak pazarlama aşamasının gerçek başlangıcı olduğunu bilmesi gerekir. İçeriğinizi teşvik etmek açısından, yayın yayınlanır yayınlanmaz içeriği sosyal ağlara iterek başlamak isteyebilirsiniz. En azından, sosyal medya pazarlama programınıza eklemek isteyebilirsiniz. Şimdi, yarı otomatik süreç istiyorsanız, Publish_Post eylemine bağlanabilir ve içeriği sosyal medyanıza gönderebilirsiniz.
GIST DATTARD21/F7B86BD8AD4A72E81BF7FA8FACBBDAE4 Yükleme

Göndermek için doğru kodu kazmayacağım çünkü bu doğru yapmak istediğiniz şeylere çok bağlı ve bunun için Interweb’de birçok öğretici var. Eylem #2 örnekleri bir üyelik eklentisi sitesi oluşturduğunuzu söyleyin. Ayrıca, kayıt e -postasından ayrı bir e -posta olarak göndermek istediğiniz bir dizi bonus kaynak yaptınız. Yapacağımız şey, bonus içeriğine sahip ek e -postalar göndermek için eylemden sonra kancayı kullanmaktır.
Görüldüğü gibi, aslında herhangi bir değer döndürmüyoruz (çünkü bu bir kanca filtresi değil, eylem kancasıdır). Yukarıdaki koddaki Add_ace’in üçüncü argümanı, işlevin işlevi sonrası_signup_user yürütüleceği sırasını belirleyen kancanın önceliği olarak adlandırılan şeydir. Varsayılan (belirli bir değer değilse) 10 olarak ayarlanır. Dördüncü bağımsız değişken, kanca işlevi tarafından alınacak argüman miktarını gösterir, varsayılan 1’dir. Ubiqutious kod örneği: Google Analytics’i WordPress’e ekleme işlem kancalarını kullanarak en yaygın çevrimiçi örneklerden biri olduğu için, bunun eylem kancalarının kullanımının iyi bir örneği olmadığı anlamına gelmez! Google Analytics kodumuzu eklemek için WP_head Action Hook’a bağlanıyoruz.
Çekirdek verileri içerir 21/7895D353EEA7EEC2DCABFBCFead6027
Başka nerede WordPress kancaları kullanılabilir? Eklentiler ve temalar elbette. Çekirdek ve özel WordPress’in hem eklentileri hem de temaları, temaya veya eklentiye zarar vermeden temaya veya eklentiye kendi özel işlevlerini ekleyebilmeleri için geliştiricilere kendi kancalarını ortaya çıkaracaktır. Gerçek kod için, basit değişiklikler functions.php dosyasına gidebilir, ancak filtrenin gitmesi gereken hiçbir özellik veya gerçek sınır yoktur. Kancaların kullanımından eminseniz, kullanabileceğiniz yararlı kancalar, bu kod görüntülerinin bir kısmını kancaları kullanarak kullanmak isteyebilirsiniz. WP Tema Dedektörü’nden WordPress için yararlı olan kod görüntüleri – bazıları aslında çeşitli WordPress kancaları kullanır (ayarlar: test edilmez veya desteklenmez). WP Kube’den WordPress için daha kullanışlı kod görüntüleri çeşitli kancalar kullanır. Ve bu büyük WordPress hileleri listesinde birçok bağlantı var. WordPress Hooks: Hayal gücünüz, bu makalede görebileceğiniz gibi tek sınırdır, kanca WordPress size WordPress’in temel işlevini genişletme konusunda çok fazla güç ve olasılık sağlar. Bu, tasarımcılara, geliştiricilere ve hatta WordPress’e sadece küçük ayarlamalar yapmak isteyen WordPress özgür işçilere büyük bir güç verir. WordPress kancaları hakkında anlamadığınız bir şey var mı? Belirli ayarlamalara ulaşmak için WordPress kancalarını nasıl kullandığınıza dair yaratıcı bir örneğiniz var mı? Yaklaşan projenizde daha fazla WordPress kancası kullanmayı planlıyor musunuz? Bize aşağıdaki yorumlarda anlatın.
Etiket:
gelişim
filtre
kanca

admin

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir