WordPress web siteniz ile etkileşimde bulunmanız ve hangi dosyanın hangi fonksiyonu yerine getireceğini bilmeniz tamamiyle mümkündür. Ve tüm bunlar web sitenizin üzerinde yüksek dereceli bir kontrol elde etmeniz için elzemdir. Hiç olmazsa bu durum, ortaya çıkabilecek hataları çok daha kolay bir şekilde giderebilmenizi sağlayacaktır.
Her WordPress yüklemesi, aynı dizin yapısı ve çekirdek dosyaları ile başlar. Yüklediğiniz her eklenti ve tema, eklediğiniz her komut ve görünen her hata ekranı, WordPress içerik portalının omurgası sayesinde mümkündür. Bu dosyalar üzerinde araştırma yapma fikri korkutucu bir fikir gibi görünüyor olsa da, göründüğünden çok daha basittir.
Makale boyunca en önemli WordPress klasörlerinin içeriğini inceleyeceğiz, eğer siz de çekirdek dosyaların sitenizi güçlendirmesini istiyorsanız tüm dikkatinizi buraya vermelisiniz.
WordPress Dizin Yapısı Tanıtımı
Dürüstçe belirtiyoruz WordPress dosya yapısı oldukça basittir. Bu yapıya değinmek gerekirse, wp-config.php ve .htaccess gibi birçok önemli dosyanın içinde bulunduğu bir httpdocs ( public_html ) klasörü var. Eğer ilk defa WordPress yüklemenizin inceliklerine iniyorsanız, şanslısınız ki orada karşılaşacağınız isimlere zaten aşinasınız.
Bu dosya ve klasörlere erişebilmeniz için ya hosting servisinizin dosya yöneticisini ya da File Transfer Protocol’ünü( Dosya aktarım protokolü:FTP ) kullanmanız gerekiyor. Bu kılavuza uygun olarak, FileZilla’yı kullanıyor olacağız. Sizin seçiminiz ne olursa olsun seçtiğiniz şey httpdocs ( public_html ) klasörünüzün içinde olmalı ve şöyle görünmelidir.
Üst düzey klasörlerin içine girmeden önce, httpdocs klasörünüzün içine koyulmuş dosyalardan bazılarına bir göz atalım. İlk olarak .htaccess (“hypertext access”) dosyasına değineceğiz. Bu dosya WordPress kurulumunuz boyunca kalıcı bağlantı ( permalink )yapısını, dosyaları ve klasörleri kontrol etmenizi ve onlara erişmenizi sağlar. Örnek bir .htaccess dosyası aşağıdaki gibidir.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
<IfModule mod_rewrite.c>
Diğer bir önemli dosya da wp-config.php WordPress’in taban yapılandırmasını yönetir ve MySQL ayarlarınızı, gizli anahtarlarınızı ve veritabanı tablonuzun önekini içerir. Veritabanı ayarlarınız aşağıdaki gibi görünmelidir.
// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for WordPress */
define(‘DB_NAME’, ‘veritabani-adi’);
/** MySQL database username */
define(‘DB_USER’, ‘veritabani-kullanici-adi’);
/** MySQL database password */
define(‘DB_PASSWORD’, ‘veritabani-kullanici-adi-parolasi’);
/** MySQL hostname */
define(‘DB_HOST’, ‘localhost’);
Diğer önemli dosya ise kayıt olma, giriş yapma ve kullanıcı onay sürecini içeren wp-activate.php, wp-signup.php, ve wp-signup.php dosyaları. Ayrıca yorumlama fonksiyonunu yöneten ve yorumların tekrarlanmasını önleyen wp-comments-post.php dosyası ve WordPress değişkenlerini ayarlayan wp-settings.php dosyası da mevcut.
wp-admin Klasörü
Adından da anlaşılacağı gibi bu bir WordPress yönetici araçlarınız ile ilişkin dosyaları içinde barındıran klasördür. Klasörlerin kalbi olan admin.php, örneğin; veritabanına bağlanmanızı, WordPress gösterge panelini görüntülemenizi ve temel fonksiyonlardan herhangi birini yapmanızı sağlar.
Bu klasördeki dosyaların isimlerine dikkat ederseniz, çoğu WordPress gösterge panelinden bildiğiniz fonksiyonlarla örtüşüyor. Örneğin; profile.php dosyası kullanıcı profili yönetim ekranını yönetir, theme-install.php dosyası tema yükleme panelini kontrol eder ve plugin-install.php dosyası da eklenti paneliniz için aynı işi yapar.
wp-admin dahilindeki diğer önemli klasörlere gelince; images, WordPress yönetim panelinde kullanılan görüntülerdir, css ve js klasörleri CSS kodu ve JavaScript kodlarını barındırmaktadır, ve network klasörü içerisinde bulunan PHP dosyaları da WordPress çoklu siteleri yönetmek için gereklidir.
wp-content Klasörü
Muhtemelen zamanınızın çoğunu wp-content klasörü içerisinde harcıyorsunuzdur. Burası WordPress ile çalışmanın son kısmı, burada iki en popüler fonksiyon mevcut, tabii ki Temalardan ve Eklentilerden söz ediyoruz:
Plugin ( Eklenti ) Klasörü
WordPress’e upload ettiğiniz her eklenti, plugins klasörünün içinde bir alt klasör olacaktır. Bunların her birinin içeriği, eklentiden eklentiye değişkenlik gösterir. Şimdi hemen aşağıda Akismet eklentisinin klasörünün içeriğine hızlı bir şekilde göz atacağız.
Sorun giderme makalelerimizde belirttiğimiz gibi WordPress’te 403 Forbidden Error hatası ya da 500 Internal Server Error gibi sorunlarla karşılaştığınızda, FTP üzerinden eklentileri devre dışı bırakmak, uyumluluk sorununu çözmek için atmanız gereken adım olabilir.
Themes(Tema) Klasörü
Eklentilerde olduğu gibi WordPress sitenize indirdiğiniz her tema kendi adına karşılık gelen bir klasör oluşturur.
Muhtemelen daha önce eriştiğiniz herhangi bir temanın klasörünün, bir grup PHP dosyasından ibaret olduğunu yapı taşları ile birlikte gördünüz. Ana klasörün içinde bir 404.php dosyası, bir functions.php dosyası , bir sidebar.php dosyası ve bir de style.css dosyası gibi birçok dosyayı daha görebilirsiniz.
wp-includes Klasörü
WordPress dizinindeki son önemli klasörümüz; wp-includes. Bu klasör en büyük olanlardan bir tanesi. Yönetici fonksiyonlarında adı geçen gerekli tüm klasörler wp-admin’in içindedir ve wp-content de tüm eklenti ve temaları depolar, son olarak da wp-includes klasörü de sitenizde geriye kalan ve saat gibi tıkırında çalışmakta olan her şeyi içerir.
Bu klasör, WordPress’in çekirdek dosyalarının saklandığı yer olduğu için çok önemlidir. WordPress yüklemek, ana dizinde 140 farklı dosyayı ve Sertifika, Font (yazı tipleri), js, tema ve widget’ları içeren 14 farklı klasörü anında oluşturur.
Bu alt klasörler functions.php gibi ana klasörde bulunan dosyalar kadar önemli değildir. Bu küçük dosya WordPress’in çekirdeğinin bir parçası olarak kabul görür ve çalışmak için WordPress kurulumunu sağlayan bir çok küçük fonksiyon ile doludur. Bir örnek verecek olursak; metin editöründeki bir dosyayı açacak olursanız göreceğiniz ilk şey, bu kod satırları olacaktır ve bunlar farklı formatlardaki tarihleri dönüştürmek anlamına gelen normal fonksiyonlardır:
* Convert given date string into a different format.
*
* $format should be either a PHP date format string, e.g. ‘U’ for a Unix
* timestamp, or ‘G’ for a Unix timestamp assuming that $date is GMT.
*
* If $translate is true then the given date and format string will
* be passed to date_i18n() for translation.
*
* @since 0.71
*
* @param string $format Format of the date to return.
* @param string $date Date string to convert.
* @param bool $translate Whether the return date should be translated. Default true.
* @return string|int|bool Formatted date string or Unix timestamp. False if $date is empty.
*/
function mysql2date( $format, $date, $translate = true ) {
if ( empty( $date ) )
return false;
if ( ‘G’ == $format )
return strtotime( $date . ‘ +0000’ );
$i = strtotime( $date );
if ( ‘U’ == $format )
return $i;
if ( $translate )
return date_i18n( $format, $i );
else
return date( $format, $i );
}
İçerdiği diğer önemli dosyalar da cache.php (önbellekten veri kaldırma ya da önbelleğe veri ekleme işlemlerini yönetir) dosyası, link.php (WordPress’in bağlantılarının özelliklerini yöneten fonksiyonları içerir) dosyası ve version.php hangi WordPress sürümünü kullandığınızı gösteren dosyadır.
Sonuç
WordPress’inizin derinlerine inmek anlaşılabilir bir şekilde korkutucu olsa da, biraz pratik ve biraz da araştırma ile kısa zamanda çekirdek dosyaları ve ayrıntılarını bilebilecek konuma gelebilirsiniz. Bu bilgiler kuşkusuz ki gelecekte çok kullanışlı gelmeye başlayacaktır.
Unutmamak gerekir ki her yolculuk küçük birkaç adımla başlar ve devamı gelir. Sizin küçük adımlarınız şunlardır:
1. WordPress dizin yapısındaki klasörleri tanıyın ve özellikle şu 3 klasöre dikkat edin; wp-admin, wp-content ve wp-includes klasörleri.
2. wp-config.php, functions.php ve .htaccess dosyalarının da aralarında bulunduğu WordPress çekirdek dosyaları ile tanışın.
Aşağıdaki yorum bölümünden bizimle deneyimlerinizi paylaşabilirsiniz!