06 Ağustos 2009

WordPress'te Bilinmeyen 5 Faydalı Fonksiyon (daha)

WordPress Yorum Ekle

WordPress bizlere birçok güzel, işimizi kolaylaştıran fonksiyon sunuyor. Daha önceden bunlardan 5 tanesini size sunmuştum. Bu yazımda da özellikle eklenti yazarlarının işine yarayacak, bilinmeyen 5 fonksiyon daha sunacağım.
Aşağıda fonksiyonlarla ilgili genel bilgiler ve kullanımlarına dair örnekler yer almaktadır.

mysql2date() Fonksiyonu

Fonksiyon, veritabanında kayıtlı olan DATETIME türünde verilmiş olan tarihi istediğiniz formatta ya da WordPress ayarlarında belirtilmiş olan tarih/saat formatında gösterir.
Genel Kullanım

  1. $tarih = mysql2date( $tarihbicimi, $mysqltarih, $yerellestirme )

tarihbicimi - Tarihin gösterilmesini istediğiniz biçim. PHP'nin Date() fonksiyonunda kullanılanlarla aynı.
mysqltarih - Gösterilecek olan tarih bilgisi. DATETIME tipinde olacak.
yerellestirme - True değeri verildiğinde tarih yerel dile dönüştürülür, verilmezse dönüştürülme işlemi gerçekleşmez. Varsayılan True

Mysql2date Örnekler

Örnek 1: Bu örnekte sabit bir tarih bilgisini 03/05/2009 olarak gösteriyoruz.

  1. <?php
  2. echo mysql2date('d/m/Y', '2009-05-03 23:00:15');
  3. //Çıktı 03/05/2009
  4. ?>

Örnek 2: Yazıya ait tarihi, WordPress ayarlarındaki gibi gösteriyoruz.

  1. <?php
  2.  echo mysql2date(get_option('date_format'), $post->post_date, $translate = true );
  3. //Çıktı 03 Mayıs 2009
  4. ?>

Daha önce PHP'nin Date fonksiyonunu kullandıysanız, oradaki parametrelerle istediğiniz gibi çıktı verdirebilirsiniz.

current_time() Fonksiyonu

Fonksiyon geçerli zamanı, DATETIME ya da TIMESTAMP veri türlerinde, yerel saate uyarlanmış ya da uyarlanmamış olarak verir.
Genel Kullanım

  1. <?php
  2. $zaman = current_time( $veritipi, $gmt)
  3. ?>

veri tipi - Zamanı istediğiniz veri tipi. Geçerli değerler 'mysql' ve 'timestamp'
gmt - Zamanı yerel saate uyarla/uyarlama. Geçerli değerler true, false.

Örnekler

Örnekler: Geçerli zamanı DATETIME tipinde, DATETIME tipinde yerel saate uygun olarak, TIMESTAMP tipinde, TIMESTAMP tipinde ve yerel saate uygun olarak gösterir. Yerel saat +3 şeklinde ayarlı.

  1. <?php
  2.  echo current_time('mysql');
  3.  //Çıktı 2009-08-06 07:41:35
  4.  echo current_time('mysql', 1);
  5.  //Çıktı 2009-08-06 04:41:35
  6.  
  7. echo echo current_time('timestamp');
  8. //Çıktı  1249544671
  9. echo current_time('timestamp', 1);
  10. //Çıktı 1249533871
  11. ?>

Görüldüğü üzere zamanlar arasında 3 saatlik bir zaman dilimi var. Bu fonksiyonu özellikle eklentilerinizde yerel zamanı veritabanına kaydetmek ya da yerel zamana göre veri çekmede kullanabilirsiniz.

size_format() Fonksiyonu

Dosyalarla ilgili işlem yapan bir eklentiniz varsa ve dosyanın boyutunu kullanıcıya gösterirken, byte olarak değil de KB, MB şeklinde göstermek isteyebilirsiniz. Bunu yaparken de dönüşüm yapacak bir fonksiyon yazmanız gerekmiyor. WordPress içerisinde size_format tam da bu işlemi yapıyor, TeraByte değerleri bile destekliyor.
Genel Kullanım

  1. <?php
  2. $boyut = size_format($byte);
  3. ?>

byte - Dönüşümü yapılacak byte değeri.

Örnekler

Aşağıdaki örnekler çeşitli byte değerlerinin dönüşümlerini gösterir.

  1. <?php
  2. echo size_format(3234);
  3. //Çıktı 3 kB
  4. echo size_format(3234000);
  5. //Çıktı 3 MB
  6. echo size_format(3234000000);
  7. //Çıktı 3 GB
  8. echo size_format(3234000000000);
  9. //Çıktı 3 TB
  10. ?>

wp_upload_dir() Fonksiyonu

Eklentilerimizin bazılarında yazılabilir bir klasöre gereksinim duyabiliriz. Çoğu eklenti yazarı, eklentisiyle aynı klasörde bir klasör (örneğin Temp) oluşturur ve eklenti kullanıcısından bu klasöre yazma izni verir. Tabi ki acemiler için bu bazen sıkıntı yaratabilir.
Halbuki WordPress kurulu olan her sitede resimlerin yüklendiği, yazma iznine sahip bir 'uploads' klasörü mutlaka vardır. Eklentilerimizde neden bu klasörü kullanmayalım? İşte wp_upload_dir() fonksiyonu bu klasörün yeri değişmiş (varsayılan wp-content/uploads) olsa bile, bize klasörün bilgilerini verecektir. Fonksiyon klasörle ilgili bilgileri dizi olarak döndürmektedir. Bunun için lütfen örnekleri inceleyin.
Genel Kullanım

  1. <?php
  2. $yukleme_klasoru = wp_upload_dir($tarih);
  3. ?>

tarih - Fonksiyon isterseniz 'yyyy/mm' şeklinde verdiğiniz ay/yıla ait yükleme klasörünün de adresini verebilmektedir.

Örnekler

  1. <?php
  2.  $yk = wp_upload_dir();
  3.  echo $yk&#91;'path'];
  4. //Çıktı C:\wamp\www\wp282/wp-content/uploads/2009/08
  5.  echo $yk&#91;'url'];
  6. //Çıktı http://localhost/wp282/wp-content/uploads/2009/08
  7.  echo $yk&#91;'subdir'];
  8. //Çıktı /2009/08
  9.  echo $yk&#91;'basedir'];
  10. //Çıktı C:\wamp\www\wp282/wp-content/uploads
  11.  echo $yk&#91;'baseurl'];
  12. //Çıktı http://localhost/wp282/wp-content/uploads
  13.  echo $yk&#91;'error'];
  14. //Çıktı varsa hata mesajı
  15. ?>

$yk dizisinin hangi değerini kullanmak isterseniz, onu örnekteki gibi alıp, kullanabilirsiniz.

wp_generate_password() Fonksiyon

Eklentiniz için rastgele üretilmiş bir parolaya ya da karakter dizisine ihtiyacınız varsa, bu fonksiyon tam size göre. WordPress üye olanların parolalarını oluştururken de bu fonksiyonu kullanıyor.
Genel Kullanım

  1. <?php
  2.  wp_generate_password($uzunluk, $ozel_kar)
  3. ?>

uzunluk - Parolanın uzunluğu. Varsayılan 12.
ozel_kar - Parola içerisinde !@#$%^&*() şeklindeki özel karakterlerin kullanılıp/kullanılmayacağı. Varsayılan true.

Örnekler

Aşağıda fonksiyonun çeşitli kullanımları var. Fonksiyonun her çağırıldığında farklı bir karakter dizisi oluşturduğu unutmayın.

  1. <?php
  2. echo wp_generate_password(); echo '<br />';
  3. //Çıktı v$pX#cGezmTq
  4. echo wp_generate_password(20, false); echo '<br />';
  5. //Çıktı EDbS2ZIv5hh3T1tHsxAH
  6. //Özel karakter yok
  7. echo wp_generate_password(20, true); echo '<br />';
  8. //Çıktı VC87u@qa$RDc4cVSI$x)
  9. //Özel karakter var
  10. ?>

WordPress çekirdek dosyalarını inceleyerek, kendiniz de daha birçok faydalı fonksiyona ulaşabilir, sitenizde yapmak istediğiniz değişiklikleri kolaylıkla yapmanızı sağlayacak yöntemleri keşfedebilirsiniz.


Bu yazının kısa bağlantısı http://www.yakupgovler.com/?p=965.

Yazılarımı RSS aboneliği ile takip edebilir, yeni yazılarıma kolaylıkla ulaşabilirsiniz. Bunun için ise RSS adresimi kullanabilirsiniz.