Merhaba arkadaşlar.WordPress tema yazanlar bilirler,öne çıkarılmış görsel olayı temada hem kod kalabalığı yaratır,hem de sorgu sayısını coşturur.

Düşünsenize temanız diyelim portal teması,30 farklı yerde 10 satır kod kullanıyorsunuz.30x10 = 300 satır bu koddan vardır yani.Ama benim size anlatacağım bu yönetm ile,sadece bir satır kod ile bu işi halledebileceksiniz.Böylece acemi arkadaşlar da,ufuklarını genişleterek,daha iyi işler çıkarabilirler.

İlk önce öne çıkarılmış görsel kodumuzu hazırlayalım.

if (get_post_meta($post->ID, 'resim', true) != '') {
$resim = get_post_meta($post->ID, 'resim', true);
echo "\"'.the_title().'\"";
}
elseif (has_post_thumbnail()) {
the_post_thumbnail('resim', array('alt' => ''.get_the_title().'', 'title' => ''.get_the_title().'', 'class' => ''resim'' )); ?>

<?php the_title(); ?>




Yukarıdaki kodu,temanızda döngü içerisinde olmak şartıyla kullanabilirsiniz.Ama dediğim gibi,kod kalabalığından başka birşey değildir.

Onun için bu kodu fonksiyonelleştirerek bir adım daha öne taşıyalım.

global $post;
if (get_post_meta($post->ID, 'resim', true) != '') {
$resim = get_post_meta($post->ID, 'resim', true);
echo "\"'.the_title().'\"";
}
elseif (has_post_thumbnail()) {
the_post_thumbnail($boyut, array('alt' => ''.get_the_title().'', 'title' => ''.get_the_title().'', 'class' => ''.$boyut.'' )); ?>

<?php the_title(); ?>

}


Yukarıdaki kodu functions.php ye kopyalayıp yapıştırın.Peki ne var yukarıda?Yukarıdaki kodlarda,tek bir parametreye bağlı fonksiyon vardır.Eğer "resim" özel alanına resim adresi girilirse,o resim görünür,girilmediyse ve öne çıkarılmış görsel kullanıldıysa o resim,her ikisi de yoksa,resim klasörünüzdeki resimyok.png görünür.


Ardından temanıza öne çıkarılan görsel özelliği kazandırmak için aşağıdaki kodu da,functions.php ye yapıştırın.

add_theme_support( 'post-thumbnails' );

Şimdi gelelim kullanımına,döngü içerisinde olmak şartı ile bu fonksiyonu böyle kullanabilirsiniz :

Eğer ki buyukresim,sizin öne çıkarılmış görselinizin değişkeni olacaksa,functions.php de bu boyutu tanımlamalısınız.

O da şöyle yapılır :

add_image_size( 'buyukresim', 500, 360, true );

Kaynak