Arama sonuçlarını yüklemek için WordPress’te Ajax nasıl kullanılır

Ajax, geliştiricilerin daha ince uygulamalar yapmasını sağlayan çok güçlü ve esnek bir araçtır. Bu, içerik yükleme veya oturum açma kimlik bilgilerini doğrulama gibi çeşitli amaçlar için kullanılabilir. Ajax’ın ana yararı, senkronize olmamasıdır, yani tüm sayfaların yeni veriler almak için yeniden yüklemesi gerekmez. WordPress Ajax için iyi donanımlıdır. Onunla çalışmak için harika bir mekanizmaya sahiptir ve Ajax işlevselliğini biraz kargaşa ile uygulamanıza izin verir. Bu makalede size Ajax’ın temellerini getireceğim ve yirmi on dört varsayılan temada Ajax’ı kullanarak arama sonuçlarını çeken çok basit bir uzantı oluşturacağız.
Ajax nedir? Ajax aslında bir teknoloji değil, bu bildiğiniz programlama dillerinin bir karışımıdır. Ajax, eşzamanlı bir j avascript ve nd x ml için kısadır. JavaScript, XML biçiminde karşılığında bir şey döndüren sunucuya bazı verileri göndermek için kullanılır. XML aslında gerekli değildir, bunun yerine JSON genellikle kullanılır. Json kullanıldığında, bazen buna Ajax değil, Ajaj diyoruz. Aslında, basit dizeler veya HTML sunucu tarafından döndürülebildiğinden, XML veya JSON ile sınırlı olmamız gerekmez. Bu makalenin amaçları için, iade ettiğimiz veri türüne bakılmaksızın Ajax’a değineceğim.
Ajax nasıl kullanılabilir? Kodu öğrenmeden pratik bir örneğe bakalım. Bir gayrimenkul web sitesi oluşturduğunuzu ve ziyaretçilerin kantini daha sonra görülecek şekilde kurtarma fırsatı sunduğunuzu varsayalım. Bu işlev “Daha sonra Kaydet” düğmesi kullanılarak sunulabilir. Kullanıcılar bu düğmeye tıkladıklarında, daha sonra listelerine bir liste ekleyen komut dosyasına alınırlar ve gördükleri sayfaya geri yönlendirilirler. Bu, sayfanın tekrar yüklenmesi gerektiği anlamına gelir. Bir gayrimenkul web sitesi çok fazla resim olabilir ve birçok resim önbellek olmayabilir, bu da daha uzun bir yükleme süresinde katkıda bulunacaktır. Çok daha iyi bir çözüm aşağıdaki gibidir: kullanıcılar düğmeye tıklayın ve düğmeye biraz yükleme animasyonu görüntülenir. Daha sonra düğme kaybolur, “Liste Kaydet” metni yerine görüntülenir. Şu anda olur, kullanıcılar web sitesini her zamanki gibi kullanmaya devam edebilir. Çadırın altında, süreç her iki durumda da çok benzerdir. Düğme tıklandığında, kullanıcı hiçbir yere getirilmez, ancak JavaScript kullanır, belirli bir dosyaya bir istekte bulunarak bir liste kimliği verir. Söz konusu dosya, geçerli kullanıcı kim olduğunu ve sağlanan Cantuman kimliğini kullanarak listelerine daha sonra ekleyin. Bu bittikten sonra, komut dosyası JavaScript işlevine geri taşınan değeri geri yükler. Buna dayanarak, kullanıcılara anlamlı etkileşim mesajları görüntülemek için kullanıcı arayüzünü değiştirebiliriz.
Oldukça karmaşık görünüyorsa endişelenmeyin! Uygulamada süreç oldukça kolaydır, sadece alışmanız gerekir. WordPress’te Ajax kullanmak Ajax, WordPress gibi WorkPress çerçevesinden tamamen bağımsızdır. İstediğiniz şekilde uygulayabilirsiniz. Ancak, Ajax’ın iş akışı için WordPress’te doğuştan destek var. Eklentinizin veya temanızın geçmesini istiyorsanız bunu takip etmelisiniz. Üç adımda çok basit bir örneğe bakalım. Özel bir çözümden, Ajax’ın kendisini tam bir uygulamaya kullanmadan WordPress’te Ajax Vakfı kullanımına geçeceğiz. Kullanıcı tıklamıyorsa veya kullanıcı daha önce tıkladıysa “zaten tıklanıyor” gösterilecek bir zamana kadar bir zaman düğmesi yapacağız. Devam etmeden önce özel uygulama, nasıl olduğumuzu bulmamız gerekiyor Kullanıcının düğmeyi tıklayıp tıklamadığını bilin. Kullanıcı düğmeyi tıklarsa, kullanıcının meta meta Clicked_link’i “Evet” değeri ile yapacağız. Bunu bizim için kontrol eden işlevdir:
Çekirdek 4B40F2C4D42973A22BA6 içerir
Şimdi kullanıcı arayüzünü yapabiliriz. Kullanıcı tıklamıyorsa düğme görünecektir (yalnızca giren kullanıcı tarafından görülecektir). Kullanıcı tıkladıysa, “tıklandı” metni görüntülenir:
Çekirdek 4B40F2C4D42973A22BA6 içerir
Kullanıcı düğmeyi tıkladığında, sayfa button_click sorgu dizesi ile yeniden yüklenir. Bu değere dayanarak, kullanıcının meta’sını ayarlamak için eylemleri kullanabiliriz:
Çekirdek 4B40F2C4D42973A22BA6 içerir
Bu yöntemin birkaç nedenden dolayı önerilmediğini, ancak kavramın kanıtı olarak işlev gördüğünü unutmayın. Bu noktada, henüz tıklamayan gelen kullanıcı için düğme görünecektir. Tıkladığınızda, aynı sayfaya geri yönlendirilirsiniz. Düğme yüklenmeden çok önce, kullanıcının meta kaydedilir ve sonuç olarak metin doğru şekilde görüntülenir. Yayasan Ajax Ajax olmadan bu örneği Ajax’ın uygulanmasına bir adım daha yaklaştıralım. Gerçekten herhangi bir JavaScript yazmadan WordPress tarafından sunulan işlevlerden yararlanabiliriz. Bu, yönetici-ajax.php aracılığıyla eylemlerimizin midesini içerir. Sonuç olarak düğmemizin kodunun nasıl değiştiğini görelim: Çekirdek 4B40F2C4D42973A22BA6
Tek değişiklik düğme URL’sinde. Bu, WordPress yönetici dizinindeki admin -jax.php dosyasını ifade eder. Ayrıca, eylem parametreleri button_click değeri ile belirlenir. Bu bir WordPress Core dosyası olduğu için eylemlerimizi bu dosyaya işlemek için işlevler yazamayız. Ancak, bu etkinliğe bağlamak için eylemleri kullanabiliriz.
Çekirdek 4B40F2C4D42973A22BA6 içerir
İşlevi admin-ajax.php dosyasındaki eyleme bağlamak için wp_ajax_ [action] veya w p_ajax_nopriv_ [action] kullanmamız gerekir. Birincisi sadece giren kullanıcılar için ateşlenir, sonuncusu yalnızca çıkan kullanıcılar içindir. Bu zaten senaryomuzu korumanın iyi bir yolu!
Değişikliği kolaylaştırmak için user_cliced ​​() işlevini de yeniden yazdığımı unutmayın. Kait wp_ajax_button_click tarafından ele alındığı için kullanıcının girip girmediğini kontrol etmemize gerek yok. Kullanıcıyı gerçekten önceki sayfaya yönlendirmemiz gerekiyor. Ajax Uygulaması Tam Uygulama Ajax Full Bir önceki örnekte oluşturduğumuz temeli kullanacağız. Etkinliği işleyecek bir dizi JavaScript yazarak başlayalım, düğmeye tıklayın. Çekirdek 4B40F2C4D42973A22BA6
Yönetici -jax.php dosyasına bir istek göndermek için düğmeyi tıklayın ve Ajax () işlevini kullanıyoruz. Talep türünün de yayın ve eylem olmasını sağlıyoruz. Veri nesnesi öğesi $ _Post satırının bir üyesi olarak taşınır. Yanıt “Tamam” ise düğmeyi tıklanan metinle değiştirecek başarı işlevi uygulanır.
Admin-ajax.php dosyası açısından bu isteğin, kullanıcılarımızı doğrudan dosyaya gönderdiğimizle aynı olduğunu unutmayın. Eylem düzenlenir ve bu nedenle kancamız daha önce aynı şekilde çalışacaktır.
Çekirdek 4B40F2C4D42973A22BA6 içerir
Bu sefer kullanıcıyı yeniden yönlendirmemize gerek yok çünkü sayfayı en baştan terk etmeyecekler. Başarı işlevlerimiz tarafından kullanılacak “Tamam” ı yankılamamız gerekiyor ve ölmemiz gerekiyor (). Bu gereklidir çünkü admin-ajax.php dosyası değilse “0” yı yankılayacaktır. Kullanıcı düğmeyi tıkladıktan sonra, her şey eşzamansız olarak işlenir. Kullanıcılar, bu eylem gerçekleştiğinde siteyi kullanmaya devam edebilir. Sondaki düğme (yeterince hızlı) tıklanan metin ile değiştirilir. Kullanıcılar sayfaları yeniden canlandırırsa, tıkladıkları için düğmeyi tekrar görmezler. Ajax uygulaması yeni geri dönüş yöntemimizle ancak kullanıcı JavaScript’i etkinleştirmezse sonunda başarısız olur. Adil olmak gerekirse, bu başarılı olacaktır, ancak kullanıcıyı “0” yı yankılandıkları ve sonra öldükleri sayfaya yönlendirmeyecektir. WordPress, Ajax isteklerinin meydana gelip gelmediğini belirlemek için kullanabileceğimiz Dould_ajax sabitini sağlar. Evet ise yankılanır ve ölürüz, eğer değilse, o zaman yönlendiririz:
Çekirdek 4B40F2C4D42973A22BA6 içerir

Bu yöntemi kullanarak JavaScript’in etkinleştirildiği durumlarla ve durumun olmadığı durumlarla başa çıkmak için aynı işlevi ve iş akışını kullanabiliriz.Site Arama Sonuçlarınızı Ajax ile yükleyin Ajax sayfasında AJAX kullanarak arama sonuçları içerecek şekilde yirmi on dört temayı değiştirelim.İlk adım bir çocuk teması oluşturmaktır.Daha fazla bilgi için WordPress Çocuk Teması Nasıl Oluşturulur Makalemize bakın.Bir sonraki varlık için hizmet vererek, JavaScript işlevimizi uygulamak için kullanacağımız JavaScript dosyasını çekelim.Komut dosyasının yalnızca arama sayfasında yayınlandığından emin olacağımı unutmayın.Bunun nedeni, arama sayfasının normal gönderme listesi sayfasından farklı bir kenar çubuğuna sahip olabileceğidir.Bu nedenle kullanıcı ilk kez arama yaptığında, arama sayfası tamamen yüklenir.Arama sayfasına girdikten sonra sonuçlar Ajax üzerinden geri çekilecek. Core 4B40F2C4D42973A22BA6
Admin-ajax.php dosyasının konumuna eriştiğimden emin olmak için wp_localize_script () işlevini kullandım. Daha önce, bu düğme URL’imizden alınabilir, ancak buradaki sayfadan almanın bir yolu yoktu. WP_LOCALICAL_SCRIPT () işlevi, komut dosyalamanıza dil desteği eklemek için kullanılabilir. Bu aynı zamanda orada kullanma şeklim olan değişkeni sürdürmenin iyi bir yoludur. Bu, JavaScript’imizdeki doğru URL’yi ifade etmek için myyajax.ajaxurl kullanmamızı sağlayacaktır. Ayrıca CSS dosyalarını bekliyordum. Kullanacağımız minimum CSS kodu, çocuğun tema stili sayfasına çok iyi eklenebilir. Sadece varlıklarımızı gruplandırmak için özel dosyaları sıralamayı seçtim, sonunda bir eklenti yapmayı kolaylaştırıyor. Bir sonraki adımda arama yapmak, aramayı kesmek, izini durdurmak ve arama isteğini yeni sonuçları geri yükleyecek özel komut dosyamıza devam ettirmektir. Şimdi bunun için JavaScript hazırlayalım: Çekirdek 4B40F2C4D42973A22BA6’yı içeriyor
İçerik öğesine bir yükleme sınıfı eklemek ve girişi devre dışı bırakmak için BeForesend etkinliğini kullanıyorum. Bu, kullanıcıya geri bildirim sağlayacak ve bazı aramaların bazı taleplerin gönderilmesine neden olmamasını sağlayacaktır. Başarılı olduktan sonra #Concent öğesi içeriği yeni sonuçlarla değiştirildi. Yüklemeyi işlemek için kullanacağımız CSS aşağıdaki gibidir, bu da içeriği sollayacak ve iyi yükleme genişliği üretecektir:
Çekirdek 4B40F2C4D42973A22BA6 içerir
Ve bu ön uçtaki görünüm:
Ajax yan sunucu eylemleri ile yayınlar içerir JavaScript çağrımızdan eylemimiz load_search_results. Bunu yapacağımız eylemlerde kullanmalıyız. Bu sefer WP_AJAX ve WP_AJAX_NOPRIV kullanacağımız için giren ve çıkan kullanıcılar için çalıştığından emin olmalıyız. Özel bir WordPress sorgusu yapacağız ve sonuçlarımızı geri yüklemek için Search.php’de yirmi on dört üzerinde bulunan aynı kodu kullanacağız: 4B40F2C4D42973A22BA6 çekirdeğini içerir
Bu işlevin sonuçları, WordPress ve yirmi on dört orijinal işlevleri kullanılarak yapılan birkaç HTML’dir. Bu, hiçbir gönderi bulunmasa bile, herhangi bir zamanda doğru biçimi almamızı sağlar. Küçük kullanıcı arayüzünden artıştan daha büyük ölçekli bir performans artışına kadar olan Ajax, WordPress araç setinize iyi bir katkıdır. İlk kez bulduğunuzda, başınızı etrafına sarmak için denemeniz gerekebilir, ancak aslında çok basittir. Bu, ön uçta JavaScript kompleksi ve sunucu tarafında PHP kompleksi tarafından eklenebilen bir karmaşıklıktır, bu da bazen Ajax’ın kendisi değil, biraz daha zorlaştırır. Ajax işlevselliği ile ilgileniyorsanız, WordPress eklentisinde bulunan Ajax ile ilgili eklentiye göz atmanızı şiddetle tavsiye ederim. Ayrıca JQuery Ajax işlevi için Ajax W3Schools öğreticisini ve belgelerini okumanızı öneririm.
WordPress’te Ajax kullanarak harika bir şey yaptıysanız veya WordPress’in bazı yönlerinin içine bazı Ajax eklemekten birçok fayda sağlayacağını düşünüyorsanız, aşağıdaki yorumlarda bize söyleyin.
Etiket:
Ajax
yorum

admin

Bir Cevap Yazın

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