WordPress PHP Kılavuzu

Yayınlanan: 2020-10-16

WordPress PHP'yi anlamak mı istiyorsunuz? Bu yazıda PHP'nin ne olduğunu ve WordPress ile nasıl çalıştığını açıklayacağız. PHP'yi ve WordPress ile nasıl bütünleştiğini anlamak, site bakımı, sorun giderme hataları ve genel olarak WordPress geliştirme konusunda yardımcı olacaktır.

PHP nedir?

Hypertext Preprocessor'ın kısaltması olan PHP, web'in yaklaşık %79'u tarafından kullanılan bir betik dilidir . PHP, bir veritabanıyla etkileşime girme, koşullu ifadeler yazma, WordPress'e özel bilgiler edinme, medya dosyalarını çekme ve çok daha fazlası gibi birçok güçlü şeyi yapmanıza olanak tanır.

WordPress PHP'si

WordPress çekirdek dosyalarının çoğu bu dilde yazıldığından PHP, WordPress'e güç veren şeydir. Bir WordPress web sitesinin dosya listesine bakarsanız, çoğu dosyanın .php ile bittiğini görürsünüz, yani dosya PHP dosyasıdır. Aşağıdaki ekran görüntüsünde listelenen WordPress PHP dosyalarının çoğu, bir WordPress web sitesinin çalışması için gereklidir.

WordPress php'si

PHP Nasıl Çalışır: WordPress Web Siteleri

PHP'nin bir WordPress web sitesinde nasıl kullanıldığına dair gerçek dünyadan bir örneğe bakalım. Bu örnekte, bir kullanıcının oturum açıp açmadığını belirlemek için koşullu bir ifade kullanacağız:

<?php
if ( true === user_is_logged_in() ) {   
   echo 'You are logged in!';
} else {
   echo 'You are not logged in! Please sign in.';
}

PHP bilginiz olmasa bile, bir kullanıcının oturum açmış veya oturum açmamış olduğunu çıkarabilirsiniz. Kullanıcının oturum açıp açmadığını kontrol etmek için koşullu (if/else) kullanırız, o zaman biz de onları karşılayan bir mesaj gösterecek ve eğer öyle değillerse oturum açmalarını isteyeceğiz. Bu sadece basit bir örnek olsa da, koşul ifadelerinin ne kadar güçlü olabileceğini görebilirsiniz.

“user_is_logged_in” fonksiyonunu kontrol ettiğimizi görebilirsiniz. Adından sonra parantez “()” olduğu için bunun bir fonksiyon olduğunu biliyoruz.

İşlev false döndürürse, kod çalıştırıldığında şu mesajı görüntüler:

"Giriş yapmadın! Lütfen giriş yapın."

PHP ve WordPress

Sadece yukarıdaki örnekte, PHP'nin WordPress'in her yerinde bulunduğunu fark edeceksiniz. WordPress, gösterilen gönderi sayısını kontrol eden döngüler gibi alt sistemlerin yanı sıra işlevselliği, API'leri ve temaları ve eklentileri değiştiren kancalara sahiptir.

WordPress PHP: Hata Ayıklamayı Etkinleştir

WordPress, varsayılan olarak, PHP tarafından oluşturulan herhangi bir hata/uyarı göstermez. Bu, üretimde olan siteler için iyi bir uygulamadır, ancak geliştiriyorsanız, bunun etkinleştirilmesini istersiniz. Hata ayıklamayı etkinleştirmek için, WordPress'in kök dizininde bulunan wp-config.php dosyasındaki bu satırı değiştirmeniz yeterlidir:

define( 'WP_DEBUG', false );

Basitçe true sabit WP_DEBUG değiştirin ve sonra dosyayı kaydedin. Gizlenen tüm hatalar veya uyarılar şimdi görüntülenecek, bu bizim istediğimiz şey.

Döngü ve Sorgu

Sorgu, sayfada hangi gönderilerin gösterileceğini toplayan bir sistemdir ve döngü, her gönderiden geçen ve bunları buna göre görüntüleyen şeydir. Ana sayfanızda, sorgu en son gönderileri arayacak ve en yeni 10 gönderiyi alacaktır. Bir kategori sayfasında sorgu, verilen kategoriden en son 10 gönderiyi arayacaktır. Ayrıca sorguyu değiştirebilir ve yapmanız gerekenler için kullanabilirsiniz.

Bir örneğe bakalım:

<?php
 
if ( have_posts() ) {
    
   $i = 0;
 
   while ( have_posts() ) {
 
     $i++;
 
     if ( $i > 1 ) {
 
         echo '<hr class="post-separator styled-separator is-style-wide section-inner" aria-hidden="true" />';
 
       }
 
       the_post();
 
       get_template_part( 'template-parts/content', get_post_type() );
 
     }
 
} elseif ( is_search() ) {
 
?>
      
	<div class="no-search-results-form section-inner thin">
 
<?php get_search_form( array( 'label' => __( 'search again', 'twentytwenty' ) );
 
?>

Kod, "have_posts()" işlevinin döngüye girecek herhangi bir verisi olup olmadığını kontrol ederek başlar. Olursa, $i değişkenini 0'a ayarlar. Ardından, koşul doğru olduğu sürece (yani döndürülecek verileri olan) bir döngü olan bir while döngüsü çalıştırır. Önce $i değişkenini 1 “$i++;” artırır, ardından $i değişkeninin 1'den büyük olup olmadığını kontrol eden bir koşullu ifade çalıştırır. Eğer öyleyse, gönderiyi ayırmak için bir miktar HTML görüntüler. Bundan sonra, “the_posts()” işleviyle gönderiyi alın ve gönderinin içeriğini “get_template_part()” işleviyle görüntüler.

Bu koşul karşılanmazsa, arama olup olmadığını belirlemek için “is_search” işlevini kullanır. Eğer öyleyse, o zaman sadece biraz HTML işler ve kullanıcıdan tekrar aramasını isteyen bir “get_search_form()” fonksiyonunu çalıştırır.

kancalar

WordPress, geliştiricilere temel işlevleri değiştirme fırsatı verir. Ancak, çekirdek dosyalarını değiştirmek istemiyoruz. Bu, geliştirmenin 1 numaralı kuralıdır ve sadece kötü bir uygulamadır. Üzerinde çalıştığınız projeye bağlı olarak bazen zor olabilir, ancak burada kancalar devreye giriyor. WordPress tamamen kancalarla ilgilidir ve geliştirme için kullanılan iki ana kancaya sahiptir. Bu iki kanca, hareketli kancalar ve filtre kancalarıdır. Eylem kancaları, özelleştirilmiş kod eklemenize izin verir ve filtre kancaları, verileri kullanılmadan önce değiştirmenize olanak tanır.

Temanın kapanış gövde etiketinden önce kendi kodumuzu eklemek için wp_footer'ı özelleştirelim . Temanın function.php dosyasını açarsanız aşağıdaki kodu ekleyebilirsiniz:

function ithemes_footer_code() {
   ?>
    
 
   <p>This is the footer.</p>
 
   <?php
}
add_action( 'wp_footer', 'ithemes_footer_code' );

// ---- END

// ---- BEGIN
if ( ! function_exists( 'ithemes_custom_length_excerpt' ) ) {
    function ithemes_custom_length_excerpt( $length ) {
        return 50;
    }
}
add_filter( 'excerpt_length', 'ithemes_custom_length_excerpt', 999 );

Bu kod, “add_action()” işlevi için kullanılan bir geri çağırma işlevi olarak kullanılan “ithemes_footer_code” işlevini oluşturur. Bu fonksiyon wp_footer üzerinde gerçekleştirmek istediğimiz kodu içerir. add_action'ın ilk parametresi için bu kodun altbilgide çalıştırılacağını belirten 'wp_footer' diyoruz. İkinci parametre geri çağırma işlevidir (az önce yaptığımız işlev) ve özel kodu çalıştıracaktır. Bu bir eylem kancası örneğidir.

Bir gönderi alıntısının özel uzunluğunu değiştirelim . Varsayılan olarak, WordPress 57 karakter görüntüler, ancak karakter sayısını daha fazla veya daha az olacak şekilde değiştirebiliriz:

if ( ! function_exists( 'ithemes_custom_length_excerpt' ) ) {
    function ithemes_custom_length_excerpt( $length ) {
        return 50;
    }
}
add_filter( 'excerpt_length', 'ithemes_custom_length_excerpt', 999 );

İlk olarak “function_exists()” fonksiyonu için bir koşul yazarak oluşturduğumuz fonksiyonun zaten var olup olmadığını kontrol ederiz. Eğer mevcut değilse, fonksiyonumuzu yaratırız ve argüman olarak $uzunluk alır. Daha sonra 50 değerini döndürüyoruz. Bundan sonra 4 parametre alabilen “add_filter()” fonksiyonunu çalıştırıyoruz ama sadece üç tane kullanıyoruz. Bu, filtre kancasının bir örneğidir.

Özetleme: WordPress PHP

Gördüğünüz gibi, WordPress PHP'nin temellerini ve PHP'nin WordPress kod tabanına nasıl uygulandığını öğrenmek, sitenizin perde arkasında gerçekte nasıl çalıştığını daha iyi anlamanızı sağlar. PHP ile ilgili video eğitimlerimizden birkaçını burada izleyin: Sözdizimi, WordPress'te Döngü ve WordPress şablon etiketleri.

Kontrol listesi PDF'sini indirin: Temel WordPress Bakım Kontrol Listesi
Şimdi İndirin
WordPress php'si