WordPress Yazıya Eklenen Resimleri Özel Alana Kaydetmek

WordPress Yazıya Eklenen Resimleri Özel Alana Kaydetmek

  • Hemen konuya giriyorum. Farzedelim ki thumb adında bir özel alana sahipsiniz ve anasayfada thumb’a yazdığınız resimleri gösteriyorsunuz. Thumba direk olarak resim adresi yazmadığımıza göre öncelikle siteye bir resim upload ediyoruz. Daha sonra bu yazının linkini kopyalayıp thumb isimli özel alana ekliyoruz. Peki sürekli kopyala yapıştır yapmak bir vakit kaybı değil mi? Hayatta tahammül edemeyeceğim tek şey vakit kaybı olduğu için, güzel bir kod yazdım
  • Örneğin bir resim yüklediniz ve yazı içerisine eklemediniz. Yazı içerisine resmi eklemiş olsaydınız farklı bir yol kullanabilirdiniz.
  • Ancak resmi sadece thumb isimli özel alana eklemek için yüklemişsek, yapacağımız işlem illa ki kopyala yapıştır olacaktır.!
  • Ama yukarıda belirttiğim gibi vakit kaybına tahammülüm yok benim!
  • Bu yüzden bir kod yazdım ve bu kod şunları yapıyor:
  • Thumb özel alanınıkontrol ediyor.
  • Eğer thumb boş ise,
    • Yazıya eklenmiş resimler var mı kontrol ediliyor.
    • Eğer eklenmiş resim var ise, ilk resmi alıyor ve özel alana ekliyor.
    • Eğer eklenmiş resim yoksa, boş bir döngü yapıyor ve ekleme yapmıyor.
  • Eğer thumb dolu ise,
    • Her hangi bir kontrol ve ekleme yapılmıyor.
  • Yani sizi hiç yormuyor.
  • Peki Nasıl?

  • Temanız içerisindeki functions.php dosyasını açın.
  • Aşağıdaki kodları ekleyin:
function wpu_thumb_kontrol($post_ID){

$id = $post_ID;

$ozelalan = "thumb";

$thumb = get_post_meta($id, $ozelalan, true);

if($thumb == ""){

$ek =& get_children(array('post_parent' => $id, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'ID'));

if (!empty($ek)) {

$birinci = array_shift($ek);

}

$resim = wp_get_attachment_image_src($birinci->ID);

$link = $resim[0];

if($link != ""){

add_post_meta($id, $ozelalan, $link, true);

}

}

}

add_action('publish_post', 'wpu_thumb_kontrol');
  1. Dosyayı kaydedin ve kapatın.

Bu işlemden sonra aynen yukarıda söylediğim işlemler yapılacaktır.

Eğer özel alan isminiz farklı ise, işaretlediğim satırda (3.satır) bulunan thumb değerini değiştiriniz.