Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Kupası
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

En İyi Uygulama: WordPress Temasına Eklerken İşlevin Var Olup Olmadığını Kontrol Edin

Geçenlerde bir kullanıcı bize WordPress sitenize yeni bir kod eklemeden önce bir PHP fonksiyonunun var olup olmadığını nasıl kontrol edeceğini sordu.

WordPress’in en iyi yanı, web sitenize kendi özel işlevlerinizi ekleyebilmeniz de dahil olmak üzere esnekliğidir. Ancak, bazen özel kodunuz çalışmayabilir çünkü atıfta bulunduğu işlev artık mevcut değildir.

Bu makalede, WordPress temanıza eklemeden önce bir işlevin var olup olmadığını nasıl kolayca kontrol edeceğinizi göstereceğiz.

Checking if a function exists in WordPress

Özel Kodunuza Neden ‘If Function Exists’ Eklemelisiniz?

WordPress temel 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 kodu, sayfa ziyaretçilerinizin tarayıcılarına yüklenmeden önce çalışmayı bitirmek zorunda olduğundan, 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 işlev kodun geri kalanının çalışmasını engelliyorsa, kod durur ve kritik bir hata veya ölümcül hata mesajı görüntüler.

WordPress critical error message

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

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

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

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

WordPress’te Bir İşlevin Var Olup Olmadığını Kontrol Etme

Neyse ki PHP programlama dili, bir işlevi çalıştırmadan önce var olup olmadığını kolayca kontrol etmek için yerleşik bir yöntemle birlikte gelir.

Diyelim ki saat dilimi bilgisiyle birlikte geçerli saati gösteren bir WordPress işleviniz var. İşte bunu denemek için kullanabileceğiniz örnek bir kod parçacığı.

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

Öncelikle, WPCode Ücretsiz Eklentisini yüklemeniz ve etkinleştirmeniz gerekir. Bunu yapmak için yardıma ihtiyacınız varsa, lütfen bir WordPress eklentisinin nasıl kurulacağına ilişkin adım adım başlangıç kılavuzumuza bakın.

Etkinleştirmenin ardından, WordPress panonuzda Kod Parçacıkları ” + Parçacık Ekle bölümüne gitmeniz gerekir. Orada, farenizi ‘Özel Kodunuzu Ekleyin (Yeni Snippet)’ seçeneğinin üzerine getirin ve ardından görünen ‘Snippet kullan’ düğmesine tıklayın.

Adding Custom Code in WPCode

Bu, özel kod parçacığınızı ekleyebileceğiniz yeni bir sayfa açacaktır. ‘Saat Dilimi ile Geçerli Saati Göster’ gibi bir başlık yazın ve ardından aşağıdaki kod parçacığı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>";
}
Paste the Code Snippet Into WPCode

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

Son olarak, Etkinleştir geçişini Açık konuma getirmeli ve yeni kod parçacığınızı saklamak için ‘Parçacığı Kaydet’ düğmesine tıklamalısınız.

Activate and Save the Code Snippet

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

<?php wpb_show_timezone(); ?>

Test web sitemizde bu şekilde görünüyordu.

Function runs normally

Şimdi, bu işlevi yürütmekten sorumlu kod ortadan kalkarsa ne olur?

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

Critical error in WordPress

Bu kodun yalnızca işlev 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() fonksiyon unu kullanıyoruz. Bu fonksiyon bir fonksiyonun var olup olmadığını kontrol eder ve True ya da False döndürür.

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

Şimdi, işlev artık kullanılamadığında, kod basitçe onu atlayacak ve WordPress web sitenizin geri kalanını normal şekilde yükleyebilecektir.

Missing function skipped

Umarız bu makale WordPress’te bir fonksiyonun var olup olmadığını nasıl kontrol edeceğinizi öğrenmenize yardımcı olmuştur. Ayrıca eksiksiz WordPress sorun giderme kılavuzumuzu veya en iyi sürükle ve bırak WordPress sayfa oluşturucuları için uzman seçimlerimizi görmek isteyebilirsiniz.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

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

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Ultimate WordPress Araç Kiti

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

Reader Interactions

3 yorumBir Cevap Bırakın

  1. Joana Pereira

    Good call Kovshenin. I know exactly what you mean because I was using a custom function with contact form 7 (to retrieve the ip address on each form) and every time the plugin was updated, the theme broke.

    Thanks for the tip

    Joana Pereira

  2. kovshenin

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

Bir Cevap Bırakın

Yorum bırakmayı seçtiğiniz için teşekkür ederiz. Lütfen tüm yorumların yorum poli̇ti̇kasi uyarınca denetlendiğini ve e-posta adresinizin yayımlanmayacağını unutmayın. Ad alanında anahtar kelime KULLANMAYIN. Kişisel ve anlamlı bir sohbet edelim.