WordPress Kodlama Deseni: İşlev seçeneğini $ args ile ayarlayın
Bugünün konusu, WordPress programlamasında $ args adlı bir modeldir. Her zaman görünüyor – çok sık, sadece anlayarak sizi çok daha güvenen bir WordPress programcısı yapacak. Haydi bakalım! WordPress’teki çok yaygın desen işlev seçeneklerini belirlemek için $ args vardır:
WordPress, Register_Post_Type () gibi istediğiniz şeyi yapan bir ön yazma işlevine sahiptir.
Ancak, WordPress ne istediğinize dair belirli ayrıntıları bilmiyor. Örneğin, yazı türünün özel bir tek adı var mı? (Gönderi türünüz “fenomen” olarak adlandırılırsa, cevap evet!) Bu tür yayınlardan yayın Site arama çubuğunuzun aranmasında mı görünmeli, değil mi? Vb.
Dolayısıyla WordPress, bu seçeneği istediğiniz kadar doldurmanıza izin verir, ana işlevine (Register_Post_Type ()) kendisine iletilecek bir işlev parametresi olarak.
Yukarıdaki üçüncü adım, $ args’in girdiği yerdir – $ args, WordPress’e dikte etmek istediğiniz tüm özel işlev parametrelerini ayarlayacak olan şeydir.
Bu yüzden Rigber_post_Type () ve bunun gibi birçok işlev şöyle görünür: Register_post_type ($ Post_Type, $ args); . $ args her yerde! Size $ Args modelinin tüm WordPress geliştirmesinde ne kadar genel olduğunun bir resimini vermek için, yazdığımız öğreticideki kullanım listelerinden bazıları:
WP_Query nesnesinin sorguları için kriterleri belirleyin
Register_taxonomy () ‘i çağrılarında özel taksonomik mülk tanımlamak
Call to register_post_type () ‘i özel yayınların özelliğini ayarlayın
WPEPPress HTTP API’sının wp_remote_get () ve diğer işlevlerini tanımlar
“$ Args” için wpsout’ta arama yaparak daha eksiksiz bir liste alabilirsiniz – en az bir düzine farklı konuyu sayarız. Ayrıca $ args için Codex WordPress’i arayabilir ve bir süre orada olabilirsiniz.
$ args ilişkisel bir dizidir, bu yüzden $ args her yerde ama bu nedir? En basit cevap, bunun ilişkisel bir dizi olmasıdır: mülk (anahtarlar) ve mülkün (değerler) alınan değeri içeren basit veri depolama. $ Args yerine taklit etmek için, sahte bir wordpress işleviyle tamamlandı, bu şöyle görünüyor: // Bu $ args, ilişkisel dizi $ args = array (‘başlık’ => ‘Büyük Big Miami Beach Sandcastle’, ‘Height_in_meters’ => 3, ‘Has_turrets’ => true,); // Bu, $ args’i wp_build_sandcastle (‘Miami_Beach’, $ args) parametresi olarak kabul eden WordPress işlevidir; Nasıl çalıştığını gör? $ args, WordPress fonksiyonu – başlıklar ve yükseklik ve high_in_meters gibi özellikler – tarafından anlaşılacak özelliklerin bir listesidir. , veya belirli mülkün doğasının doğasına bağlı olarak diğer veri türleri.
PHP dizileri olarak yapılandırılmış bu özellikler listesi kısaca $ args’tir. Buna $ args olarak adlandırmanız gerekmez (ama aynı zamanda olabilirsiniz) Buna kongreye göre $ args diyoruz: iyi bir isim ve tutarlı bir adlandırma hayatı kolaylaştırıyor. Başından beri, kafa karıştırıcı bir değişken adı yazmak istiyorsanız, $ args’e $ argümanlardan $ A’ya $ A ila $ A ila $ ZZZ – hatta $ boolean herhangi bir ad verilebileceğini açıklığa kavuşturmak önemlidir. Neden buna $ args diyoruz? Bir anlaşma ile! $ args, temelde bir dizi fonksiyonel argüman olan değişkenler için bulacağınız gibi aynı addır – ve diğer programcılarla aynı olarak adlandırılan, bir bakışta programcının ne hakkında konuştuğunu bulmayı kolaylaştırır. Bu benzer. Neden birçoğumuz döngü sayma değişkenini çağırıyoruz (neredeyse tüm dillerde, JavaScript’ten PHP’ye, Java’ya vb.) I. adıyla. Bu nedenle, $ args adına sabitlenmeyin – ancak daha iyi bir tane olmadıkça adı kullanmalısınız. $ args genellikle isteğe bağlı birçok argüman wordPress işlevinin varsayılan değeri vardır, bu nedenle $ args genellikle isteğe bağlıdır. WordPress işlev bağımsız değişkeninin çoğu varsayılan bir değere sahiptir – kendi değerinizi belirlemiyorsanız işlev olarak kullanılacak makul bir değer – ve $ args’ın kendisi genellikle isteğe bağlıdır.
wp_remote_get () bir örnektir: HTTP isteğini nasıl yapacağına dair tüm değişkenler için varsayılan bir değeri vardır. Sonuç olarak, yalnızca saniyeler cinsinden talep için bekleme süresi gibi varsayılanlardan bir veya daha fazlasını değiştirmek istiyorsanız $ args’e ihtiyacınız vardır: $ args = array (‘timeout’ => 30); $ tepki = wp_remote_get (‘https://google.com’, $ args); Varsayılan zaman sınırı (5 saniye) ve diğer tüm varsayılanlarla iyiyseniz, $ args’in tamamen ölmesine izin verebilirsiniz: $ rep Respon = wp_remote_get (‘https://google.com’); $ Args değişkenleri yapmak iyi bir uygulamadır, ancak $ args’a ihtiyaç duyulmaz, programlamanın önemli bir parçası değildir. Tersine, bu bir temizleyici kodun konforu ve okunması daha kolay. İlk WP_REMOTE_GET örneğimize dönelim. Neden aşağıdaki gibi yazmıyoruz? $ Response = wp_remote_get (‘http://www.google.com’, dizi (‘timeout’ => 30)); Cevap: yapabiliriz! Diziyi ifade eden $ args adlı bir değişken oluşturma konusunda özel bir şey yoktur ve daha sonra değişkeni bir işlev parametresi olarak devam ettirir; Elbette aynı diziyi doğrudan işlevin kendisinin çağrısına yazabilirsiniz. Öyleyse neden $ args kullanmamız gerekiyor? Bazı nedenlerden dolayı: $ args bir daha temiz bir kod oluşturun Aynı şeyi yapmanın iki yoluna bakalım – bu durumda, “Tür” adlı “tür” adlı bir taksonomi “Kitap” adlı özel bir sevkiyat türü için kaydedin. Bu $ args olmadan süreç:
register_taxonomy (‘tür’, ‘kitap’, dizi (‘etiket’ => __ (‘tür’), ‘public’ => false, ‘yeniden yaz’ => false, ‘hiyerarşik’ => true,); Ve bu $ args: $ args = array (‘etiket’ => __ (‘tür’), ‘public’ => false, ‘yeniden yaz’ => false, ‘hiyerarşik’ => true) ile aynı koddur; Register_taxonomy (‘tür’, ‘kitap’, $ args); Çok daha iyi, değil mi? Sadece bir eğrisi olan ikinci örnek değil (ancak kimse bizi register_taxonomy () çağrısına eğriler eklememizi engellemedi): Bu aynı zamanda kavramsal olarak daha temiz. İlk örnek şöyle diyor: “Liste ‘türü. Bu kitaplar için. Ayrıca, ‘tür’ konusunda dürüst olmak istediğim birçok şeyi size aktarayım. “İkinci örnek şöyle diyor:” Bir dizi mülkün bir listesini yapacağım. Şimdi yeni kayıt yaptığım mülkle kitaplar için ‘türü’ kaydetelim. ” Yani $ args, kodunuzu temiz görünmesini sağlar ve mülkünüzü özelliği kullanan işlevden ayrı hale getirir. Daha iyi, okunması daha kolay, kodla tartışmak doğrudan işlev çağrınıza bir dizi yazmaktan daha kolaydır.
$ args, işlev argümanınızı programlamanıza izin vermiyor mu? Bu, $ args’in yapmanıza izin verdiği başka bir şeydir: $ args = array (‘yazar_adı’ => ‘fred’, ‘post_type’ => ‘post’,); if (is_search ()) {$ args [‘post_type’] = array (‘post’, ‘sayfa’); } $ query = yeni wp_query ($ args); Yukarıdaki kodun etkisi, yazar Fred tarafından yayın tipi gönderiyi döndüren özel bir sorgu yazmaktır – geçerli sayfa site arama sayfası dışında, bu durumda kuyruk yazar Fred tarafından yayın veya sayfa türünü döndürür. Doğrudan işlevinize bir argüman yazarsanız bunu yapamazsınız, bu yüzden denemeye zahmet etmeyin. Bu bir kez daha $ args’in yazmanıza izin verdiği bir temizlik kodunun sonucudur: Tüm parametrelerinizi başlangıçta ayarlarsınız – ve isterseniz, onu kullanacak işlevi çağırmadan önce onunla bir şeyler bile yapabilirsiniz. Harika, değil mi? Şimdi, “ve” veya “that” gibi İngilizce kelimeleri anlamak gibi, WordPress’in gelişimindeki $ args modelinin doğasını anlamak, aynı anda birçok şeyi açıklıyor. Umarım bugünün makalesi bu modeli kristal olarak yapmıştır. Her zamanki gibi, aşağıdaki yorumlarda görüşlerinizi ve sorularınızı duymaktan mutluluk duyarız!