Ana Sayfa » »
Ağu
4
2013

Şifreli Functions.php Dosyalı Temalar İçin Çözüm Önerisi

Ücretli ya da ücretsiz dağıtılan bazı temalarda tema yapımcıları, temasını korumak, serbest dağıtımını engellemek için yazdıkları kodları şifreleyerek functions.php dosyasına koyuyorlar. Genelde ioncube denilen şifreleme kütüphanesini ile dosyanın tamamı şifrelendiğinden, bu dosyaya ekleme yaptığınızda site açılmaz hale geliyor. Bu tür tema sahipleri için, functions.php dosyasına eklemek istedikleri kodları çalıştırmak için alternatif bir çözüm önerim var.

Her ne kadar yeni temalarda, ek-functions.php şeklinde bir dosya daha eklenmeye başlanmış olsa da eski temalarda böyle bir çözüm yok. Bu problemi gidermek için bir eklenti yazacağız ve functions.php'ye eklemek istediğimiz kodları bu eklenti dosyasına yazacağız. Öncelikle elinizde Notepad++ gibi bir metin editörü olursa iyi olur. Yeni bir belge açın, Kodlama menüsünden UTF-8 (BOM'suz) kodlaması seçeneği seçili olsun. Ardından aşağıdaki kodları belge içerisine yapıştırın.

<?php
/*
Plugin Name: Functions.php Alternatifi Eklentim
Plugin URI: http://www.yakuphoca.com/
Description: Functions.php içerisine ekleyeceğiniz kodları bu eklentini dosyası içerisine ekleyin.
Author: Yakup Hoca
Version: 1.0
Author URI: http://www.yakuphoca.com/
*/

//Kodlarınızı buraya yapıştıracaksınız.


?>

Tabi kod içindeki bilgileri kendinize göre düzenleyebilirsiniz. Ardından da functions.php dosyasına ekleme istediğiniz kodları yukarıda belirtilen yerden itibaren ekleyin. Örneğin aşağıda verilen, siteye eklenen videoların genişliğini ayarlayan kodu normalde functions.php'ye eklememiz gerekiyor. Ancak biz bunu eklentimiz içerisine ekleyeceğiz.

<?php
function yakuphoca_embed_boyutunu_degistir($embed_size){
    if( is_single() ){ // If displaying a single post
        $embed_size['width'] = 560; // Adjust values to your needs
        $embed_size['height'] = min( ceil( $embed_size['width'] * 1.5 ), 1000 ); 
    }
     
    return $embed_size; // Return new size
}
add_filter( 'embed_defaults', 'yakuphoca_embed_boyutunu_degistir' );
?>

Bu kodu eklentimizin dosyasına eklemek için öncelikle en baştaki kodlarını siliyoruz ve aşağıdaki şekilde eklenti dosyamıza yapıştırıyoruz.

<?php
/*
Plugin Name: Functions.php Alternatifi Eklentim
Plugin URI: http://www.yakuphoca.com/
Description: Functions.php içerisine ekleyeceğiniz kodları bu eklentini dosyası içerisine ekleyin.
Author: Yakup Hoca
Version: 1.0
Author URI: http://www.yakuphoca.com/
*/

//Kodlarınızı buraya yapıştıracaksınız.

function yakuphoca_embed_boyutunu_degistir($embed_size){
    if( is_single() ){ // If displaying a single post
        $embed_size['width'] = 560; // Adjust values to your needs
        $embed_size['height'] = min( ceil( $embed_size['width'] * 1.5 ), 1000 ); 
    }
     
    return $embed_size; // Return new size
}
add_filter( 'embed_defaults', 'yakuphoca_embed_boyutunu_degistir' );

?>

Bundan sonraki kodlarınızı da altına örnekte olduğu gibi yapıştırmaya devam edin. Dosyayı örneğin functions-alternatif-eklentim.php adıyla kaydedin ve sitenizin wp-content/plugins klasörüne yükleyin. Sitenizin Yönetim Paneli, Eklentiler penceresini açıp, Functions.php Alternatifi Eklentim isimli eklentiyi etkinleştirin. Bundan sonra da functions.php dosyasına eklemeniz gereken kodlarınızı bu eklenti dosyasına eklemeniz yeterli.

Bu Yöntemin Faydaları

  • Öncelikle eklentinin siteye kayda değer bir yükü bulunmamaktadır.
  • Bazı işleri yapmak için eklenmesi gereken kodlar functions.php'ye eklenseler de çalışmayabilirler, ancak eklentiler functions.php'lere göre daha öncelikli yüklendiklerinden, site üzerinde tam bir yönetim şansı verirler. Bu nedenle her tür kod bu yöntemde çalışacaktır.
  • Functions.php dosyasına hatalı bir kod eklediğinizde site açılmaz hale gelir, ancak bu eklenti dosyasına eklediğinizde WordPress, eklentiyi otomatik olarak devre dışı bırakacak, sitenin yönetim paneline ulaşabilecek ve hatayı görebileceksiniz. Düzeltip, eklentiyi etkinleştirdiğinizde siteniz normal şekilde çalışmaya devam edecektir.
  • Tema değiştirdiğinizde, önceki temada kullandığınız kodları, yeni temaya taşımak istediğinizde, eski temanın functions.php dosyasından kodları alıp, yeni temaya aktarmanız gerekir. Ancak bu yöntemde, temayı değiştirseniz bile, eklenti etkin olduğu müddetçe kodlarınız işlemeye devam edecektir.

Bu yöntemi sadece functions.php dosyası şifreli olanlara değil, tüm WordPress sitesi sahiplerine öneriyorum. Yakında kendim de bu yönteme geçiş yapacağım, böylece normalde sadece eklentilerle yapılabilecek işlemler için kullandığım bazı eklentilerden de kurtulmuş olacağım.

Bu yazımı beğendiyseniz, bu kategoride yer alan Arama İfadesi Bir Kategori / Etiket Adıysa Ona Gitsin başlıklı arama, arama sonucu ve etiket konularında bilgi veren bir önceki yazımı da okumanızı tavsiye ederim.

Yazıya 1 Yorum Yapıldı+ Yorum Ekle

  • wordpress 3.6 çalışıyor
    hocam çok sağolun :) önemli bir bilgi :)

Yorumunu Yaz

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yukarı Çık