SkyGhostAir adlı üyeden alıntı: mesajı görüntüle
Merhabalar,

Wordpress sitem için bir shortcode oluşturuyorum ancak bu koddaki bazı değerler boş bırakıldığında o alan ile ilgili html kodlarının da çağrılmamasını yada görünmemesini nasıl sağlarım bilmiyorum. Bu konuda yardım bekliyorum.

Hazırladığım kod: (http://prntscr.com/dk8ena)
function bt_linkbox( $atts, $content = null ) {
extract(shortcode_atts(
    array(
    	"tur"  => '',
        "link"  => '',
        "img"  => '',
        'gelistirici' => '',
        'fiyat' => '',
        'boyut' => '',
    ), $atts));
    return '
    <div class="bt-linkbox-'.$tur.'">
    	<div class="bt-linkbox-img"><img src="'.$img.'" alt=""></div>
    	<div class="bt-linkbox-sol">
    		<div class="bt-linkbox-baslikic">'.$content.'</div>
    		<div class="bt-linkbox-detay">
    			<div class="bt-linkbox-gelistirici">Gelistirici:'.$gelistirici.'</div>
    			<div class="bt-linkbox-fiyat">Fiyat:'.$fiyat.'</div>
    			<div class="bt-linkbox-boyut">Boyut:'.$boyut.'</div>
    		</div>
    	</div>
    	<div class="bt-linkbox-link-'.$tur.'">İndir / Yükle ▼<br><a href="'.$link.'">Steam Store</a></div>
    </div>';
}
add_shortcode( 'linkbox', 'bt_linkbox' );
Kodun kullanım şekli:
[linkbox tur=steam link=baglanti img=gorsel fiyat=fiyati boyut=boyutu gelistirici=firma]İCERİK[/linkbox]

Burada Geliştirici, Boyut veya Fiyat alanları kullanılmadığında alttaki alanlarında aktif olmaması gerekiyor;

Geliştirici:
<div class="bt-linkbox-gelistirici">Gelistirici:'.$gelistirici.'</div>
Fiyat:
<div class="bt-linkbox-fiyat">Fiyat:'.$fiyat.'</div>
Boyut:
<div class="bt-linkbox-boyut">Boyut:'.$boyut.'</div>
Belirtilen değerler olmadığında karşılığı boş olarak ekrana yazılıyor ve bu hoş olmuyor, bu yüzden değer olmadığında gizlemek niyetindeyim. Bunu nasıl sağlayabilirim?

Şimdiden teşekkürler.
function bt_linkbox( $atts, $content = null ) {
extract(shortcode_atts(
    array(
    	"tur"  => '',
        "link"  => '',
        "img"  => '',
        'gelistirici' => '',
        'fiyat' => '',
        'boyut' => '',
    ), $atts));
if($gelistirici) $gelistirici_kodlar="<div class=\"bt-linkbox-gelistirici\">Gelistirici:".$gelistirici."</div>";
if(!$gelistirici) $gelistirici_kodlar="yok";
if($fiyat) $fiyat_kodlar="<div class=\"bt-linkbox-fiyat\">Fiyat:".$fiyat."</div>";
if(!$fiyat) $fiyat_kodlar="yok";
if($boyut) $boyut_kodlar="<div class=\"bt-linkbox-boyut\">Boyut:".$boyut."</div>";
if(!$boyut) $boyut_kodlar="yok";
    return '
    <div class="bt-linkbox-'.$tur.'">
    	<div class="bt-linkbox-img"><img src="'.$img.'" alt=""></div>
    	<div class="bt-linkbox-sol">
    		<div class="bt-linkbox-baslikic">'.$content.'</div>
    		<div class="bt-linkbox-detay">
    			'.$gelistirici_kodlar.'
    			'.$fiyat_kodlar.'
    			'.$boyut_kodlar.'
    		</div>
    	</div>
    	<div class="bt-linkbox-link-'.$tur.'">İndir / Yükle ▼<br><a href="'.$link.'">Steam Store</a></div>
    </div>';
}
add_shortcode( 'linkbox', 'bt_linkbox' );
Bu şekilde olması lazım.

denemedim.