15 Faydalı WordPress, Tüm Geliştiricilerin Bilmesi Gereken İşlevleri
WordPress, geliştiricilerin kullanması için harika işlevlerle doludur. Posta listelerini ince havadan çekip çıkarabilir, onlar hakkında hemen hemen her şeyi değiştirebilir, dilediğimiz herhangi bir kullanıcıyı alabilir ve sosyal medya bağlantılarını bir anda gösterebiliriz..
Bununla birlikte, bilinmeyen nedenlerden dolayı gözden kaçan görünen birkaç fonksiyon vardır. Yaklaşık 8 yıldır WordPress ile kodluyorum ve zaman zaman hala yeni bir şey buluyorum! Bazı benim bir göz atalım göz ardı edilen favori fonksiyonlar ve onları yol boyunca nasıl kullanacaklarını öğrenmek.
antispambot ()
Genellikle bununla birkaç kaşımı kaldırırım, kod tabanında en iyi gizlenmiş fonksiyonlardan biri gibi görünüyor.
karakterleri HTML yollarından biriyle değiştirir e-posta adreslerini maske kötü sıyırıcılar.antispambot ()
$ email = '[email protected]'; echo '' adresinden bana ulaşabilirsiniz '. antispambot ($ e-posta). ' istediğin zaman'.
Bu yararlı bir haberleşme olsa da, bazı kişilerin WordPress'i neden eleştirdiğini gösteren bir örnek - bu korkunç bir fonksiyondur. İşlev ismini okurken, ne yaptığı hakkında hiçbir fikriniz yok..
human_time_diff ()
Bu işlevi bir yıl kadar önce ilk öğrendiğimde, bunun bir değişmezlikte göz ardı ettiğim yeni bir ekleme olduğunu düşünmüştüm. Tam olarak değil…
İki zaman damgası arasındaki farkı veren bu işlev, 1.5 sürümünden beri (17 Şubat 2018!).
Kodeks'ten ödünç aldığım aşağıdaki harika snippet, geçerli bir yayının ne kadar zaman önce yayınlandığını gösterir. Kullanır ilk argüman olarak gönderinin tarihini yayınla ve ikinci olarak geçerli tarih.
echo 'Bu gönderi yayınlandı'. human_time_diff (get_the_time ('U'), geçerli_ saat ('timestamp')). 'önce';
get_post_meta ()
Burada benimle ayı, bunun iyi kullanılan bir fonksiyon olduğunu biliyorum, ancak nasıl çalıştığını bilmediğim bir bilgi. Her şeyden önce, ikinci ve üçüncü parametreleri atlayarak bir gönderi için tüm meta verileri çekin.
$ all_meta = get_post_meta (14);
Yalnızca tek bir anahtarın verilerini alsanız bile, tüm postalar yine de çekilir..
Nedeni aslında oldukça mantıklı. Meta veriler birden fazla yerde kullanılır. Eğer
Veritabanını her kullanışımızda sorgular, çok fazla sorgu ile sonuçlanırdı. Bunun yerine, meta veri alırsanız, hepsini önbelleğe alır ve önbelleğe alınmış değerleri sonraki tüm meta veri alımlarında kullanır..get_post_meta ()
wp_upload_bits ()
Bu fonksiyon bir düzeltmedir dosya yükleme işlevi. Dosyayı yüklenenler klasörüne taşımaz ve WordPress ortam bölümüne eklemez, ancak son derece kullanışlıdır ve gerisini istediğiniz zaman
fonksiyon.wp_insert_attachment ()
$ upload = wp_upload_bits ($ dosya ['name'], null, file_get_contents ($ dosya ['tmp_name']));
Bunun için bazı açıklamalar el altında: ilk parametre dosya adı. İkincisi amortismana tabi tutulur, bu nedenle null değerine ayarlanmalıdır (WordPress tutarlılığında göz kaydırma). Üçüncü parametre, dosyanın asıl içeriğidir..
get_post_field ()
Geçmişte, birinin bir gönderi için yorum almak için bir döngü yazdığı veya bunun için özel bir veritabanı sorgusu yazdığı epeyce örnek gördüm. Onlara ihtiyacın yok, ihtiyacın olan şey
. Bu işlev Tek bir gönderi için tek bir alanın değerini alır. Veritabanında Yorum sayımı alalım!get_post_field ()
Bu yayın var yorumlar.
wpautop ()
Bu işlev spot ışığına biraz çıkmıştır, ancak hala nispeten bilinmemektedir. PHP yerli benzer nl2br
ancak yeni satırlar oluşturmak yerine içeriğinizi paragraflarda tamamlar.
Bu, bir metin kutunuz varsa ve kullanıcılar çift satır sonları ile paragraf oluşturduğunda, ön uçta da görünür kaldıklarından emin olmak istiyorsanız kullanışlıdır..
Kullanıcılarımız Ne Diyor?
wp_is_mobile ()
Bu aptly adlandırılmış işlev Bir kullanıcının bir mobil cihazda olduğunu algılar ve içeriği buna göre görüntülemenizi sağlar. Bu şartlı bir etiket olduğu için senaryoya bağlı olarak doğru veya yanlış döndürür.
Daha zengin bir kullanıcı deneyimi için masaüstünüzdeki web sitemizi ziyaret edin
wp_redirect ()
Son örnek, başka bir temiz işlevi gösterir:
. Bu yerel PHP yerine kullanılmalıdır wp_redirect ()
başlık ()
işlevi. WordPress yeniden yönlendirme işlevi yönlendirilecek bir URL belirleyin ve ayrıca bir durum kodu belirleyin, Kalıcı yönlendirmeleri de işlemek için harika.
// Artık kullanılmayan bir URL için wp_redirect ('http://website.com/new-url/', 301);
paginate_links ()
Bahse girerim, bu fonksiyonun gizliliğini kısmen WP-PageNavi eklentisinin popülerliğine borçludur. Varsayılan olarak WordPress yayın listenizin sonunda önceki / sonraki bağlantıları görüntüler.. WP PageNavi onu sayfa numaralarıyla değiştirir.
Bu aslında kullanarak küçük bir çalışma ile yapılabilir
fonksiyonlar. Birkaç parametresi vardır, bu yüzden belgelere bir göz atmanızı öneririm.paginate_links ()
Kodeksin aşağıdaki örneği, varsayılan bir döngüye nasıl ekleyebileceğinizi gösterir, ancak özel döngülere eklemek çok fazla bir şey değildir..
global $ wp_query; $ büyük = 999999999; // olası bir tamsayıya gerek yok yankılandı paginate_links (dizi ('base' => str_replace ($ büyük, '% #%', esc_url (get_pagenum_link ($ büyük)))), 'format' => '? paged =% #%' , 'current' => max (1, get_query_var ('sayfalanmış')), 'toplam' => $ wp_query-> max_num_pages));
wp_die ()
Bu işlev PHP'yi tamamlar ölmek()
işlevi. Aradaki fark, bu fonksiyonun sadece düz metin yerine WordPress tarzı bir HTML görüntülemesidir. PHP çalışmasını durdurmak için bu işlevi kullanabilirsiniz. Mesaj, başlık ve görüntülenecek ek argümanları ekleyebilirsiniz, örneğin:
wp_die ("Hata!", "İzin Reddedildi" bölümüne erişiminiz yok);
has_block ()
Sürüm 5.0'da WordPress, Gutenberg kod adı verilen bir blok tabanlı editör tanıttı. Bu işlev, içeriğin bir Gutenberg içerip içermediğini belirler; has_shortcode ()
işlevi. Geri dönecek doğru
içerik bir blok içeriyorsa veya yanlış
Eğer değilse.
wp_set_script_translations ()
WordPress kullanıcı arayüzünün bir kısmı JavaScript’e taşınacağından, çevrilebilir metinleri WordPress’in ayrıştırıp anlayabileceği JavaScript’te kaydetmesi uygun bir yoldur. Komut dosyalarınız için çevrilmiş dizeleri ayarlamak için bu işlevi kullanın. Aşağıda bir örnek:
wp_enqueue_script ('benim betiğim', plugins_url ('js / my-script.js', __FILE__)); wp_set_script_translations ('benim betiğim', 'mu-text-domain');
register_block_type ()
WordPress 5.0 'da öne çıkan bir diğer fonksiyon. Bu fonksiyon yeni WordPress editöründe yeni bir blok kaydetmenize olanak sağlar. Bloğunuz yeni düzenleyicide görünecek ve ekleyiniz. .
register_block_type ('eklenti / yeni blok', dizi ('title' => 'Yeni Blok', 'simge' => 'megafon', 'kategori' => 'gereçler', 'render_callback' => 'render_function_callback' ,));
rest_do_request ()
Bu işlev, WordPress REST API uç noktalarına PHP üzerinden çağrı yapmanızı sağlar. Tarayıcı (ön uç) yerine PHP tarafında daha fazla işleyeceğinizi işlemek için REST API'sinden bir çıktı almanız gerektiğinde oldukça yararlıdır.
$ request = yeni WP_REST_Request ('GET', "/ wp / v2 / posts"); $ request-> set_header ('X-WP-Nonce', wp_create_nonce ('wp_rest')); $ response = rest_do_request ($ istek); $ data = 200 === $ response-> get_status ()? $ response-> get_data (): [];
rest_preload_api_request ()
WordPress'te JavaScript ağırlıklı bir UI oluştururken, genellikle sayfa içinde yüklenen ilk veri kümesine ihtiyaç duyar. Bunu yapmanıza izin verecek fonksiyon budur. Bu fonksiyon, array_reduce
, Örneğin.
// Ortak verileri önceden yükle. $ preload_paths = dizi ('/', '/ wp / v2 / tipleri? bağlam =' 'düzenleme', '/ wp / v2 / taksonomiler? per_page = -1 & bağlam =' 'düzenleme', '/ wp / v2 / temalar? durum = etkin' ,); preload_data = array_reduce ($ preload_paths, 'rest_preload_api_request', array ()); wp_add_inline_script ('wp-api-fetch', sprintf ('wp.apiFetch.use (wp.apiFetch.createPreloadingMiddleware (% s));', 'wp_json_encode ($ preload_data));';
Sonuç
Bunlar sadece diğerlerinden daha az bilinen gibi görünen bazı fonksiyonlardır. İki ayda bir yeni harika bir işlev keşfettim ve eminim ki geliştirici arkadaşlarım bizi daha da şaşırtabilirdi..
Sık kullanılan bir gizleme işleviniz veya kullanışlı olacak, ancak kullanılamayan bir işleviniz varsa, yorumlarda bize bildirin.!