WordPress’te işlevler nasıl yazılır ve etkinleştirilir
Kendi WordPress eklentinizi geliştirmeye başlarsanız veya kendi temanızı oluşturursanız, öğrenmeniz gereken beceriler işlevler yazıyor. Belki de çalışmayan bir işlev yazmışsınız ve hayal kırıklığı nedeniyle teslim olursunuz. Ya da belki eylem ve filtre kancaları ile karıştırılırsınız ve işlevlerinizi nasıl gerçekleştireceğinizden emin değilsiniz. Bu yazıda, yazı işleviyle dişlerin sorununu aşmanıza yardımcı olacağım. İşlevlerinizi nasıl düzenleyeceğinizi, size en iyi uygulama ipuçlarını nasıl vereceğinizi ve işlevlerinizi etkinleştirmek için kullanabileceğiniz yöntemleri netleştireceğimizi göstereceğim.
Haydi başlayalım! Bu öğreticiyi takip etmeniz gereken şey, üzerinde çalıştığınız işleviniz varsa çok yararlı olacaktır. Bu şekilde öğrendiklerinizi uygulayabilirsiniz ve ondan daha fazlasını alacaksınız. Bu durumda, bazı araçlara ihtiyacınız var:
Kod editörü
WordPress Geliştirme Kurulumu
İşlevleriniz için dosyalar – function.php dosyasında olabilir veya eklenti olabilir.
Eğer işlevinizi başlatmadığınız için sahip değilseniz, endişelenmeyin – okuyun ve nasıl başlayacağınızı öğreneceksiniz. İşlevinizi nereye yerleştirmelisiniz? Başlamadan önce, işlevinizin kodu nereye koyacağınızı düşünmeniz gerekir. İki seçeneğiniz var: tema veya eklenti işlev dosyası.
Kullandığınız şey, işlevinizin amacına bağlı olacaktır:
İçeriğinizin tasarımı ve görüntülenmesi ile ilgiliyse, temanıza koyun. Bu doğrudan tema ile ilgilidir ve yalnızca diğer tema kodlarıyla işlev görür.
İşlev görürse (ve işlevlerinin çoğu ise, talimatlar adına), ardından eklentiye koyun. Bir eklenti yapmak aslında çok basit – eklentiler yapma kılavuzumuza bakın. Eklentinizin tema ve tema işlev dosyalarınızda olması gerektiğinden eminseniz, buna sahip değilsiniz, işlev dosyası için ana kılavuzumuza bakın.
İşlevinizi yazın, şimdi dosyanızı açtınız (Function.php veya eklenti dosyanız) ve işlevi yazmaya hazırsınız. Birkaç bölüme girelim. Yorum ekle Ne düşündüğünüzü biliyorum: Yorum, devam edemez ve birkaç kod yazamaz mıyız? Ama eklentimi kodlamadan önce her zaman yorum ekliyorum. Bu şekilde, oraya döndüğümde işlevimin ne olduğunu görebiliyorum. Bazen yıllarca bir kod parçasına geri dönmem gerekmiyor ve inan bana, bunu yaptığımda kodun nasıl çalıştığını unutacağım! Ve işlevlerinizi yapması gereken başka insanlar varsa, yorumlar işlevlerini anlamalarına yardımcı olacaktır.
Temamda birkaç Google yazı tipi kaydetmek için işlevim kolay olacak. Düzenle değil, görünümle ilgili olduğu için tema işlev dosyasına girer. Ama önce birkaç yorum ekleyeceğim:
1cdc2382b6d4fb70c9a847ab51774a2c’nin özünü içerir
Dosyayı daha sonra hızlıca kaydırdığımda net ve bulmak kolay olması için yorumlarımı biçimlendiriyorum. İşlevi açın şimdi işlevler yazma zamanı. İşlev ve işlev adı ile açarsınız. Adın benzersiz olduğundan emin olmak için her zaman ön eki işlevinizin adı için kullanmalısınız. Bu şekilde, temanızdaki veya herhangi bir üçüncü taraf eklentisindeki herhangi bir işlevle çatışmayacaktır. Kodu yazdığınız adınızı, baş harflerinizi veya sitenin veya eklentinin adını veya baş harflerini kullanın. Bunu, temanızın kodunun çalıştığı kıvırcık parantezlerle takip edersiniz:
1cdc2382b6d4fb70c9a847ab51774a2c’nin özünü içerir
İşlevin kıvırcık parantezlere girmesi için istediğiniz tüm kodun işlevini doldurun. Bu, daha sonra daha ayrıntılı olarak açıklayacağım herhangi bir koşullu etiketi içerir. Bu, Google yazı tipi işlevim için kodum:
1cdc2382b6d4fb70c9a847ab51774a2c’nin özünü içerir
Size burada belirli bir işlev kodu nasıl yapılacağını öğretmeyeceğim, çünkü neyi başarmak istediğinize bağlı olacaktır. WordPress’in gelişimi hakkında Akademi kursumuzdan bahsetmiyorum bile, çeşitli işlevlerde size yardımcı olacak birçok yayınımız var!
Tam işlev aşağıdadır:
1cdc2382b6d4fb70c9a847ab51774a2c’nin özünü içerir
Ancak bunu yaptıktan sonra, sitenizde bir sayfa açabilir ve neden hiçbir şeyin olmadığını merak edebilirsiniz. Çünkü işlevinizi etkinleştirmediniz. Belirli bir şekilde etkinleştirmedikçe işe yaramaz bir işlevin işlevini etkinleştirme, WordPress’e işlevi ne zaman etkinleştireceğinizi söyleyin. Bunun için üç seçeneğiniz var:
CodeKan doğrudan tema şablonu dosyanıza (veya diğer eklenti dosyanıza) işlev görür. Eylem kancasına yükleyin.
Filtre kancasını takın.
Her birine bakalım.
İşlevi Tema Şablonu dosyanızda kodlayın Bu seçenek yalnızca kendi temanızla çalışıyorsanız sizin için kullanılabilir. Bunu üçüncü taraf bir tema ile yapmak istiyorsanız, bir alt tema oluşturmanız, ilgili tema şablonu dosyasını alt temanızdaki ana temadan çoğaltmanız ve işlevinizi eklemeniz gerekir. Şablon dosyası gelecekte üst temanın yenilenmesi ile değiştirilirse, çocuğunuzun tema dosyası (WordPress kullanılacak) bunu yansıtmaz. Kendinizi geliştirdiğiniz temayla çalıştığınızı ve birkaç şablon dosyasında tekrarlamak istediğiniz bir kod kodunuz olduğunu varsayacağım. Dosyada yer alan ve çağrılan bir dosya oluşturmak yerine, işlev dosyanızı kullanmaya ve kod kodu için daha verimli olan işlevleri yapmaya karar verdiniz.
İşlevinizin tarihi yansıttığını hayal edelim. İşte burada:
1cdc2382b6d4fb70c9a847ab51774a2c’nin özünü içerir
Şimdi, bu kodu temanıza eklemek için bunu, kodun çalıştırılmasını istediğiniz tema şablon dosyanıza ekleyeceksiniz:
1cdc2382b6d4fb70c9a847ab51774a2c’nin özünü içerir
Bu kadar basit! Bu kodu temanızdaki ilgili şablon dosyasına ekleyebilirsiniz. İşlevinizi alternatif bir eylem kancasıyla çalıştırmak, eylem kancalarını kullanmaktır. Bu, WordPress her kanca bulduğunda, kendisine bağlı kodu çalıştırmanıza izin veren bir koddur.
WordPress tarafından sağlanan kancaları kullanabilir veya kendiniz yapabilirsiniz.Yukarıda yazdığım yazı tipi işlevi söz konusu olduğunda, WordPress tarafından sağlanan kancayı kullanacaksınız: wp_enqueue_scripts.İşlevimi etkinleştirmek için bunu diş tellerinin dışına ekleyeceğim: 1CDC22B6D4FB70C9A847AB51774A2C’nin özünü içeren
Yani tam işlevim şöyle görünecek:
1cdc2382b6d4fb70c9a847ab51774a2c’nin özünü içerir
Şimdi kendi kancamı yazabileceğim bir örneğe bakalım.Tema şablonu dosyama doğrudan bir tarih görüntülemek için işlevimi kodlamak yerine (bu durumda döngüde), eylem eklemek için do_action () kullanıyorum, ardından işlevlerimi orada ilişkilendiriyorum.
Şablon dosyamda şunu ekledim:
1cdc2382b6d4fb70c9a847ab51774a2c’nin özünü içerir
Sonra işlevimi oraya ekliyorum, bu yüzden her şey okuyor:
1cdc2382b6d4fb70c9a847ab51774a2c’nin özünü içerir
İşlevinizi diğer kanca filtresi kancaları üzerinden çalıştırmak filtre kancalarıdır. Bu, oluşturulduğunda zaten bir kod veya içerik sarar ve işleviniz bunun başına gelir. Bu, tema şablonu dosyasına bir şey kodlamak istiyorsanız, ancak kendinize daha sonra gerçekleşme seçeneğini verin. WordPress ayrıca çeşitli işlevlerle kullanılacak çeşitli kancalar filtreleri sağlar. İki kanca türü, eylem yönergeleri ve kanca filtresi arasındaki farktan emin değilseniz, sizin için birçok şeyi açıklayacağız. İşte bir örnek: Şablon dosyasındaki bir metin parçası. Not: Doğrudan şablon dosyasına metin yazmanın en iyi uygulama olmadığını biliyorum. Ayrıca, içselleştirmeden böyle yapmanın da kötü bir uygulama olduğunu biliyorum. Ama bu doğrudan bir örnek, bu yüzden lütfen yorumlarda bana vurmayın. Şablon dosyasına filtre kancaları eklemek için, ilk parametre olarak filtrenin adı ile Applic_filters () işlevini ikinci parametre olarak kullanırsınız.
Ve bu, ona bağlı işlevi ilişkilendirme şeklinizdir:
1cdc2382b6d4fb70c9a847ab51774a2c’nin özünü içerir
İşlevden sonra add_filter () işlevinin add_action () işlevine çok benzer olduğunu unutmayın. İlk parametre kanca, ikincisi de işlevin adıdır. Ayrıca, Apple_filters () işlevinin genellikle ECHO’dan önce geldiğine dikkat edin, çünkü bazı metinleri yansıtır (bu durumda, başlık). İşlevinizi etkinleştirmek için bir kanca kullandığınızda şartlı bir etiket kullanarak, bir işlevin etkinleştirileceği durumu belirlemek için bunu koşullu bir etiketle birleştirebilirsiniz. Sık sık yanlış kişiyi gördüğüm bir şey koşullu bir etiket pozisyonudur. Mantık size işlevin yalnızca belirli durumlarda etkinleştirilmesini istediğinizi söyleyebilir, bu nedenle koşullu etiketleri işlevin dışına koyarsınız, değil mi? Yanlış. İşte yaptığım iki yol, ikisi de yanlış. İlk olarak, etiketi Eylem Kancası’nın etrafına sarın: 1CDC22B6D4FB70C9A847AB51774A2C’nin özünü içerir
Ve ikincisi, işlevin etrafına sarın – ayrıca yanlış:
1cdc2382b6d4fb70c9a847ab51774a2c’nin özünü içerir
Tek doğru yol, işlevinizdeki kodun etrafına koşullu bir etiket koymaktır. Dolayısıyla işlev her durumda yanar, ancak koşullar yerine getirilmezse hiçbir şey olmayacaktır. Bir gönderiyi kontrol etmek için koşullu etiketleri kullanmanın doğru yolu budur:
1cdc2382b6d4fb70c9a847ab51774a2c’nin özünü içerir
Bunun gibi koşullu etiketler kullanmak her şeyi daha basit ve daha hassas hale getirir ve işlev için güçlü bir kullanımdır.İşlevin nasıl yazılacağını ve etkinleştirileceğini bilmek, WordPress’in gelişimini başlatacaktır, işlevlerin işlevinin ve yazma yeteneğinin, kendi WordPress tema kodunuzu ve eklentinizi oluşturmayı planlıyorsanız önemli becerilerdir.Bu kılavuzla, işlevlerinizi nasıl doğru bir şekilde nasıl yazacağınızı ve hangi yöntemi etkinleştireceğinizi tam olarak bileceksiniz. Denediğiniz işlevlerden veya işlevlerinizin beklendiği gibi olmadığı durumdan daha yaratıcı kullanımlar nelerdir?Onları burada bırakın ve makale hakkında soru bırakın!
Etiket:
işlev
Eklenti
tema