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 hosting 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 bir 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 alt kısmına eklediğiniz bir fonksiyonla geldiğini varsayalım. Eklentiyi devre dışı bırakmak fonksiyonun kaybolmasına neden olur ve WordPress web sitenizde kritik hataya neden olur.

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 yoludur.

Öncelikle, WPCode Ücretsiz Eklentisini yüklemeniz ve etkinleştirmeniz gerekir. Bunu nasıl yapacağınız konusunda yardıma ihtiyacınız varsa, lütfen WordPress eklentisi nasıl kurulur hakkındaki 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ım 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 nasıl görüntüleyeceğinize dair rehberimize veya WordPress dosyalarını düzenlemek için Mac ve Windows için en iyi kod düzenleyicilerine ilişkin uzman seçimimize de göz atmak 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ıklamanız durumunda 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.

    Thanks for the tip

    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 :)

Cevap Bırakın

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 isim alanında anahtar kelime KULLANMAYIN. Kişisel ve anlamlı bir sohbet edelim.