En çok ihtiyaç duyduğunuzda güvenilir WordPress eğitimleri.
WordPress Başlangıç Rehberi
WPB Kupası
25 Milyon+
Eklentilerimizi kullanan web siteleri
16+
Yıllık WordPress deneyimi
3000+
Uzmanlardan WordPress eğitimleri

En İyi Uygulama: WordPress Temasına Eklerken Fonksiyonun Mevcut Olup Olmadığını Kontrol Edin

Teknik okuyucularımızdan biri yakın zamanda bize, yeni kodu bir WordPress sitesine entegre etmeden önce bir PHP fonksiyonunun varlığını doğrulamanın yollarını sordu. Bu, sitenizin sorunsuz çalışmasını sağlamak ve hatalardan kaçınmak için önemlidir.

WordPress'in güçlü yanlarından biri esnekliğidir ve WPBeginner ekibi sitemizin işlevselliğini artırmak için düzenli olarak özel işlevler ekler. Özel PHP kodunun, artık var olmayan veya henüz tanımlanmamış bir işlevi çağırması durumunda başarısız olabileceğini anlıyoruz.

Bu makalede, WordPress temanıza eklemeden önce bir fonksiyonun var olup olmadığını kolayca nasıl kontrol edeceğinizi göstereceğiz, böylece kodunuzdaki olası hatalardan kaçınabileceksiniz.

WordPress'te bir fonksiyonun var olup olmadığını kontrol etme

Özel Kodunuza 'Fonksiyon Varsa' Eklemenin Nedenleri Nelerdir?

WordPress, ağırlıklı olarak PHP programlama dilinde yazılmıştır. PHP, WordPress barındırma sağlayıcınızın sunucularında çalışan sunucu taraflı bir programlama dilidir.

PHP kodunun ziyaretçilerinizin tarayıcılarında sayfa yüklenmeden önce çalışmayı bitirmesi gerektiğinden, bunun bazı sınırlamaları vardır. Bu sınırlamalardan biri, bir şeyler ters giderse, tüm sayfanın yüklenmesini engelleyebilmesidir.

WordPress'te, eksik bir fonksiyon kodun geri kalanının çalışmasını engellerse, durur ve kritik hata veya ölümcül hata mesajı görüntüler.

WordPress kritik hata mesajı

Bir fonksiyonun aniden çalışmayı durdurmasına veya kaybolmasına ne neden olabilir?

Düşündüğünüzden daha yaygın bir WordPress hatasıdır.

Örneğin, WordPress eklentilerinizden birinin temanızın üst veya altbilgi alanına eklediğiniz bir fonksiyonla geldiğini varsayalım. Eklentiyi devre dışı bırakmak fonksiyonun kaybolmasına ve WordPress web sitenizde kritik hataya neden olmasına neden olacaktır.

Bununla birlikte, WordPress tema dosyalarınızda bir fonksiyonu çalıştırmadan önce mevcut olup olmadığını kolayca nasıl kontrol edeceğinize bir göz atalım.

WordPress'te Bir Fonksiyonun Var Olup Olmadığını Kontrol Etme

Neyse ki, PHP programlama dili, çalıştırmadan önce bir fonksiyonun varlığını kolayca kontrol etmek için yerleşik bir yönteme sahiptir.

Zaman dilimi bilgileriyle geçerli saati görüntüleyen bir WordPress fonksiyonunuz olduğunu varsayalım. Deneyebileceğiniz örnek bir kod parçacığı aşağıdadır.

Doğrudan temanızın functions.php dosyasına ekleyebilirsiniz, ancak bu eğitimde, WPCode kod parçacığı eklentisini kullanacağız çünkü WordPress'e özel kod eklemenin en güvenli ve en kolay yolu budur.

Öncelikle WPCode Ücretsiz Eklentisini kurmanız ve etkinleştirmeniz gerekir. Bunu nasıl yapacağınız konusunda yardıma ihtiyacınız varsa, lütfen WordPress eklentisinin nasıl kurulacağına dair adım adım başlangıç kılavuzumuza bakın.

Etkinleştirdikten sonra, WordPress kontrol panelinizde Kod Parçacıkları » + Kod Parçacığı Ekle bölümüne gitmeniz gerekir. Oradayken, 'Özel Kodunuzu Ekleyin (Yeni Kod Parçacığı)' seçeneğinin üzerine gelin ve ardından görünen 'Kod Parçacığını Kullan' düğmesine tıklayın.

WPCode'a Özel Kod Ekleme

Bu, özel kod parçanızı ekleyebileceğiniz yeni bir sayfa açacaktır. 'Saat Dilimi ile Mevcut Saati Göster' gibi bir başlık yazın ve ardından aşağıdaki kod parçasını Kod Önizleme bölmesine yapıştırın.

//display current time with timezone
function wpb_show_timezone() {
$better_time = current_time('F j, Y g:i a e');
echo "<p>The current time is " . $better_time ."</p>";
}
Kod Parçasını WPCode'a Yapıştırın

Bundan sonra, kodun doğru çalıştığından emin olmak için Kod Türü açılır menüsünden 'PHP Snippet' seçmeniz gerekir.

Son olarak, Etkinleştir geçişini Açık konuma getirmeniz ve yeni kod parçacığınızı depolamak için 'Kod Parçacığını Kaydet' düğmesine tıklamanız gerekir.

Kod Parçasını Etkinleştirin ve Kaydedin

Bu fonksiyonu çağırmak için, mevcut zamanı görüntülemek istediğiniz WordPress temanızda herhangi bir yere aşağıdaki kodu eklemeniz gerekecektir.

<?php wpb_show_timezone(); ?>

Test web sitemizde böyle görünüyordu.

Fonksiyon normal şekilde çalışıyor

Peki, bu fonksiyonu çalıştırmaktan sorumlu kod kaybolursa ne olur?

Fonksiyona yapılan çağrı web sitenizi şu şekilde bozacaktır.

WordPress'te kritik hata

Bu kodun yalnızca fonksiyon mevcut olduğunda çalıştığından emin olmak için bir kontrol ekleyelim.

Yine, kodu doğrudan temanızın functions.php dosyasına eklemeniz veya WPCode gibi bir kod parçacığı eklentisi kullanmanız gerekecektir (önerilir):

<?php
if( function_exists('wpb_show_timezone')) {
wpb_show_timezone();
} else {
// do nothing
}
?>

Bu kodda function_exists() fonksiyonunu kullanıyoruz. Bu fonksiyon bir fonksiyonun var olup olmadığını kontrol eder ve Doğru veya Yanlış döndürür.

Ardından, fonksiyonun kullanılabilirliğine bağlı olarak uygun eylemi gerçekleştirmek için bir if-else koşulu ekledik.

Artık fonksiyon kullanılamadığında, kod onu basitçe atlayacak ve WordPress web sitenizin geri kalanını normal şekilde yükleyebilecektir.

Eksik fonksiyon atlandı

Umarız bu makale, WordPress'te bir fonksiyonun var olup olmadığını nasıl kontrol edeceğinizi öğrenmenize yardımcı olmuştur. Ayrıca WordPress sitenizde kodu kolayca görüntüleme kılavuzumuza veya WordPress dosyalarını düzenlemek için Mac ve Windows için en iyi kod düzenleyicileri uzman seçimimize de bakmak isteyebilirsiniz.

Bu makaleyi beğendiyseniz, lütfen WordPress video eğitimleri için YouTube Kanalımıza abone olun. Bizi ayrıca Twitter ve Facebook'ta da bulabilirsiniz.

Açıklama: İçeriğimiz okuyucu desteklidir. Bu, bazı bağlantılarımıza tıkladığınızda bir komisyon kazanabileceğimiz anlamına gelir. WPBeginner'ın nasıl finanse edildiğini, neden önemli olduğunu ve bize nasıl destek olabileceğinizi görün. İşte editöryal sürecimiz.

Nihai WordPress Araç Seti

Araç Kitimize ÜCRETSİZ erişim kazanın - her profesyonelin sahip olması gereken WordPress ile ilgili ürün ve kaynaklardan oluşan bir koleksiyon!

Okuyucu Etkileşimleri

7 CommentsLeave a Reply

  1. Başımı beladan kurtardı! Bir fonksiyon olmadığında temamın çökmesi nedeniyle kod ekleyip durdum. Uygulaması süper kolay ve kodumu temiz tutuyor.

    Açık açıklama için teşekkürler

  2. PHP'nin var olmayan bir PHP fonksiyonu hakkında bana hata vermesi durumunda, böyle bir fonksiyonun etkinleştirilebileceğini mi, yoksa sunucu yöneticisi tarafından mı yapılması gerektiğini sormak istiyorum? Ve fonksiyonun PHP sürümüne bağlı olması mümkün mü? Yani, belirli bir fonksiyonun bir PHP sürümünde mevcut olup diğerinde olmaması gibi?

    • Bu durumda fonksiyon mevcut değildir, bu nedenle hataya neyin neden olduğunu bulmaya yardımcı olmak için belirli fonksiyona bakmanız gerekir. Ardından, hataya neyin neden olduğunu destek ekibiyle kontrol edebilir veya hataya neden olan şeyi kaldırabilirsiniz.

      Yönetici

  3. İyi fikir Kovshenin. Tam olarak ne demek istediğini biliyorum çünkü iletişim formu 7 ile özel bir fonksiyon kullanıyordum (her formda ip adresini almak için) ve eklenti her güncellendiğinde tema bozuluyordu.

    İpucu için teşekkürler

    Joana Pereira

    • Eklenti güncellemelerinin temaları bozmasıyla da aynı şeyi yaşadım! Bu baş ağrılarını önlemek için function_exists() kullanmak kesinlikle bir oyun değiştirici.

  4. Right, only please stop checking for dynamic_sidebar with function_exists in WordPress themes, unless you need to support WordPress 2.2 and below, which I *highly* doubt. Also with the user photo plugin, the whole approach seems to be wrong and redundant to me, it looks like many developers are missing the whole point of pluggable functions…. Oh well :)

Leave A Reply

Yorum bırakmayı seçtiğiniz için teşekkürler. Lütfen tüm yorumların yorum politikamıza göre denetlendiğini ve e-posta adresinizin YAYINLANMAYACAĞINI unutmayın. Lütfen ad alanında anahtar kelime KULLANMAYIN. Kişisel ve anlamlı bir sohbet edelim.