İPUCU

Seçenekler

'Black-Dios Farkıyla Özel Konu / Wordpress Nasıl Çalışır ? / Hackleğiniz veya Kullandığınız Altyapıyı Ne Kadar Biliyorsunuz ?

'Black-Dios - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
12/2013
Nereden:
İzmir
Mesajlar:
1.142
Konular:
551
Teşekkür (Etti):
225
Teşekkür (Aldı):
309
Ticaret:
(0) %
02-01-2015 00:07
#1
Cool
'Black-Dios Farkıyla Özel Konu / Wordpress Nasıl Çalışır ? / Hackleğiniz veya Kullandığınız Altyapıyı Ne Kadar Biliyorsunuz ?
WORDPRESS NASIL ÇALIŞIR ?

Wordpress içerik yönetim sisteminin nasıl çalıştığını kavrayan geliştirici sayısı çok fazla olmamakla beraber, anlaşılması da hakikaten zor. Bunun başlıca sebeplerinden biri, tamamıyla nesne yönelimli bir alt yapıya sahip olmamasıdır.

Wordpress, spagetti kod düzeniyle yazılmıştır. Spagetti kod düzeni, herhangi bir MVC mimarisini kullanmadan yazılan kod öbeklerine verilen genel bir isimdir. Adını, içerisindeki karmaşadan alır. Bu kod düzeni, wordpress için bir dezavantaj gibi anlaşılmamalıdır. Wordpress, spagetti kod düzenine rağmen stabil yapısını her zaman korumaktadır. Gelin Wordpress içerik yönetim sisteminin nasıl çalıştığına bir göz atalım.

Wordpress içerik yönetim sistemine dair sunucumuzda ki her aktivite ilk olarak Index.php dosyası ile başlar. Bu basit dosya, gelen bütün isteklere cevap vererek sayfalarımızda yüklenir. Index.php dosyası, içerisinde iki adet ana fonksiyon barındırır. Bu fonksiyonlardan biri “WP_USE_THEMES” adında bir sabit tanımlar ve bu sabite TRUE değerini verir. Böylelikle Wordpress çekirdeğine, sayfaları ve yazıları görüntülerken aktif temayı kullanması gerektiğini bildirir. İkincisi ise; wp-blog-header.php dosyasını Index.php içerisine dahil eden require () fonksiyonudur.

Wp-blog-header, Wordpress içerik yönetim sisteminin başlatılması boyunca üç temel işlemden tek başına sorumludur. Bu işlemler ;

1. Wp-load-php dosyasını mutlak olarak sayfaya dahil etmek
2. Wp ()fonksiyonunu çalıştırmak.
3. Template-loader.php dosyasını mutlak olarak sayfaya dahil etmek

Wp-load.php dosyasının, Wordpress içerik yönetim sisteminin başlatılmasında basit ama son derece önemli bir rolü vardır. İşe Wordpress yüklemesinin kök dizinine “ABSPATH” adında bir sabit tanımlayarak başlar.

Bu sabit, başlatma işleminin geri kalan kısmı boyunca sıkça kullanılır. Bu sabit yardımıyla, include () ve require () fonksiyonlarında, dirname (__FILE__) yerine ABSPATH kullanabiliyoruz. Wp-load.php dosyası, wp-config.php dosyasını yükleyerek görevini tamamlar. Wp-config.php dosyasına hepimiz bir parça aşinayızdır. Eminim çoğumuz, kurulum esnasında gerekli olan veritabanı, şifre gibi değerleri girmek için bu dosyayı düzenlemek üzere açmıştır. Tabi günümüzde, sunucumuzun yazma izinleri müsait ise bu manuel yazma işlemi de son bulmuş durumda. Artık kurulum aracından otomatik olarak wp-config.php dosyası oluşturulabilmekte. Wp-config.php dosyası içinde veritabanı bağlantısı için gerekli tanımlamalar yapılmaktadır. Bu tanımlamalar ;

·
DB_NAME
· DB_USER
· DB_PASSWORD
·
DB_HOST

Bu tanımlamalara ait değerler, MySQL’ de Wordpress için ayırmış olduğumuz veritabanı bilgileri ile uyuşuyor ise, bağlantı gerçekleştirilir. Aksi takdirde wp-config.php üzerinde hatalar meydana gelir. Wp-config.php dosyası aynı zamanda Wordpress içerik yönetim sisteminin dilini de belirler. Bizim dilimiz için yapılan tanımlama şu şekildedir ;

Define ( ‘WPLANG’ , ‘tr_TR’ ) ;

Eğer sonradan, Wordpress içerik yönetim sisteminin dilini değiştirmek istiyorsak yapmamız gereken iki şey mevcuttur.
· Dil paketlerini wp-contect/languages içerisine atmak.
· Wp-config.php dosyasında WPLANG sabitinin değerini dönüştürmek istediğimiz dil olarak belirlemek.

Bu ufak ipucunu da bilgilendirme olarak burada belirtmiş olalım. Wp-config.php dosyası son olarak wp-settings.php dosyasını mutlak bir şekilde dahil ederek görevini tamamlar. Bu dosyada Wordpress içerik yönetim sistemi için önemli görevlere sahiptir.

Wp-settings.phpdosyası işe, “WPINC” adında bir sabit tanımlayarak başlar. Bu sabit “/wp-includes” dizinine işaret etmektedir.

Sabitin tanımlanmasının ardından wp-includes dizininden üç adet dosya sayfaya mutlak olarak dahil edilir. Bunlar ;

· Load.php
· Default-constants.php
·
Version.php

Açıklamalarımızda, “mutlak olarak dahil edildi” gibi ibareler kullanmamızın nedeni, dahil etme işlemi esnasında require () fonksiyonu kullanılmasıdır. Bu noktaya açıklık getirdiysek, Load.php içerisinde bulunan fonksiyonlara ve neler yaptıklarına değinelim.

LOAD.PHP

Wp_unregister_GLOBALS ()

Register Global, güvenlik nedeniyle deaktif edilir.

Wp_fix_server_vars ()

Çeşitli yüklemeler için $_SERVER değişkenini düzeltmelerden geçirir.

Wp_check_php_mysql_versions ()

Gerekli olan minimum PHP ve MYSQL versiyonlarını denetler.

Wp_maintenance ()

Gerekli şartlar yerine getirildiğinde, Wordpress içerik yönetim sistemini bir uyarı mesajı ile bakıma ***ürür.

Timer_start ()

PHP standartlarına göre mikro zaman yakalama başlatılır.

Timer_stop ()

Fonksiyona ait sorgu/cevap arasında geçen süreyi döndürür.

Wp_debug_mode ()

Olası PHP hatalarının görüntülenmesini sağlar. Wordpress ayıklama kipini de devreye sokar.

Wp_set_lang_dir ()

Dil dosyalarının bulunduğu dizinin konumu belirlenir.

Require_wp_db ()

Wordpress kurulu olan veritabanına içerik ekleme, silme, güncelleme işlemleri için kullandığımız $wpdbsınıfı burada tanımlanır.

Wp_set_wpdb_vars ()

Wordpress veritabanında bulunan tablolara ait ön eklerini belirler. Ayrıca veritabanı tablo kolonları için format belirteçlerini ayarlar.

Wp_start_object_cache ()

Wordpress içerik yönetim sisteminin nesne önbelleğini başlatır.

Wp_not_installed()

Wordpress, sunucuda başarılı bir şekilde kurulmamış ise kurulum sayfasına yönlendirir.

Wp_get_mu_plugins ()

Kullanılması zorunlu olan eklentileri dizi şeklinde döndürür.

Wp_set_internal_encoding ()

Mb_internal_encoding () fonksiyonu ile dahili kodlamayı belirler.

Shutdown_action_hook ()

PHP’nin yürütmesini tamamlamadan hemen önce çalışan kancadır.

Wp_clone ()

Herhangi bir nesneyi kopyalamaya imkan sunar.

İs_admin ()

Gelen isteğin, admin paneli için olup olmadığını denetler. Temalarımıza entegre modül geliştirirken de işe yaramaktadır. Modül geliştirme esnasında current_user_can () fonksiyonundan da faydalanılabilir.

İs_blog_Admin ()

Geçerli isteğin wordpress admin panelyani “wp-admin” için olup olmadığına karar verir.

İs_network_admin ()

Geçerli isteğin ağ yönetim paneli “wp-admin/network” için olup olmadığına karar verir. Örnek olarak ;

Kod:
 <?php if ( is_network_admin () )
  {
  Echo “ Şu anda network sayfasını görüntülüyorsunuz.” ;
  }
  Else
  {
  Echo “ Şu anda network sayfasını görüntülemiyorsunuz” ;
  } ?>
Edit : Arkadaşlar konu gözünüze kısa gibi gelmesin bu Part 1 ' dir yazı anca 3-4 günde tamamlanacaktır. Bu konuyu okumadan ben Wordpress Uzmanıyım demeyin lütfen

~ Part 2 ~

is_user_admin ()

Geçerli isteğin kullanıcı sayfası için olup olmadığına karar verir.

is_multisite ()

Wordpress üzerinde multi site desteğinin aktif olup olmadığına karar verir.
Örnek olarak ;

Kod:
<?php
if ( is_multisite () )
{
echo 'Multi site aktif;
}
?>
get_current_blog_id ()

Geçerli olan blog ID değerini döndürür.

Load.php içerinde barınan fonksiyonların bir kısmı yukarıdaki gibidir. Fark edildiği üzere, fonksiyonlar konuşma diline çok yakındır.

Konu 'Black-Dios tarafından (21-01-2015 17:25 Saat 17:25 ) değiştirilmiştir. Sebep: Güncelleme..
2nokta, Matrix24, BerQueen, ByDoldis, Tr Coder Teşekkür etti.
2nokta - ait Kullanıcı Resmi (Avatar)
Tamamen Forumdan Uzaklaştırıldı
Üyelik tarihi:
02/2013
Yaş:
27
Mesajlar:
16.757
Konular:
2064
Teşekkür (Etti):
10721
Teşekkür (Aldı):
7717
Ticaret:
(0) %
02-01-2015 00:15
#2
Artık bunude editlemek üzere sabah okucam
Tebrik ederim.Devam devm
'Black-Dios - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
12/2013
Nereden:
İzmir
Mesajlar:
1.142
Konular:
551
Teşekkür (Etti):
225
Teşekkür (Aldı):
309
Ticaret:
(0) %
02-01-2015 00:16
#3
Alıntı:
2nokta´isimli üyeden Alıntı Mesajı göster
Artık bunude editlemek üzere sabah okucam
Tebrik ederim.Devam devm
Sağolasın kardeşim
duman05 - ait Kullanıcı Resmi (Avatar)
Tasarımcı
Üyelik tarihi:
09/2012
Mesajlar:
6.418
Konular:
589
Teşekkür (Etti):
2629
Teşekkür (Aldı):
4069
Ticaret:
(0) %
02-01-2015 00:24
#4
Bende 2nokta gibi sabah okuyacağım ellerine sağlık kardeşim devamını bekliyoruz renklerde iyi olmuş
---------------------
Zaman, can çekişirken,
Akrep yelkovan, arasında; Bir adım öteye gidemezken geceden,
Ay, ışığını çekerken sinesine,Yıldızlar çekilirken kuytu karanlıklara,
Hüzün, bakır bir çaydanlıkta demleniyordu...

'Black-Dios - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
12/2013
Nereden:
İzmir
Mesajlar:
1.142
Konular:
551
Teşekkür (Etti):
225
Teşekkür (Aldı):
309
Ticaret:
(0) %
02-01-2015 00:27
#5
Alıntı:
dumann05´isimli üyeden Alıntı Mesajı göster
Bende 2nokta gibi sabah okuyacağım ellerine sağlık kardeşim devamını bekliyoruz renklerde iyi olmuş
Yorumun için teşekkür ederim kardeşim
Reuters - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2013
Nereden:
Reu Island
Mesajlar:
7.293
Konular:
511
Teşekkür (Etti):
3845
Teşekkür (Aldı):
4967
Ticaret:
(0) %
02-01-2015 00:32
#6
2 font yerine 4 5 font kullansaydın daha iyi olurdu diye düsünüyorum her iki konun icin gecerli bu anlatımların saglam olmus ellerine saglık
Matrix24 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
06/2012
Nereden:
istanbul
Mesajlar:
2.694
Konular:
256
Teşekkür (Etti):
305
Teşekkür (Aldı):
340
Ticaret:
(0) %
02-01-2015 00:32
#7
Eline sağlık yararlı bilgi
qeles-Hacker - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
05/2013
Nereden:
Gaziantep
Yaş:
22
Mesajlar:
2.167
Konular:
470
Teşekkür (Etti):
1386
Teşekkür (Aldı):
915
Ticaret:
(0) %
02-01-2015 00:33
#8
Ellerine Saglık Su An Mobilim Yarın Okuyacagım
By Ghost - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2013
Nereden:
C:\Linux
Mesajlar:
832
Konular:
124
Teşekkür (Etti):
137
Teşekkür (Aldı):
291
Ticaret:
(0) %
02-01-2015 02:56
#9
Günümüzde en çok tercih edilen sistemlerden birisi. Ve sadece yüzeysel kullanan çok güzel anlatım olmuş ellerine sağlık
---------------------
Öfkene hakim olamıyorsan;
Niye yaşıyorsun?

-->Muslims Freedom!!!<--
Shift-TR® - ait Kullanıcı Resmi (Avatar)
Özel Üye
Üyelik tarihi:
05/2012
Nereden:
Designer.psd
Mesajlar:
2.861
Konular:
495
Teşekkür (Etti):
1227
Teşekkür (Aldı):
1252
Ticaret:
(0) %
02-01-2015 11:37
#10
ellerine sağlık
--------------------- --

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı