Merhaba,

Yazılardaki öne çıkarılmış görseli (featured image/thumbnail) SQL koduyla almak istiyorum ancak biraz karışık geldi. Görselin bilgileri wp_posts ve wp_postmeta tablolarında saklanmasına karşın featured image olduğunu belirten bir alana rastlamadım.

wp_posts tablosunda yazının galerisine eklenmiş tüm görseller gösteriliyor, dolayısıyla iş wp_postmeta tablosunda bitiyor.

wp_postmeta tablosunda meta_key="_wp_attachment_metadata" alanında meta_value değeri oldukça karışık. Eğer bu ifadeyi parse etmemiz gerekiyorsa buradaki hangi değişken bu görselin featured image olduğunu gösteriyor?

a:6:{s:5:"width";s:3:"444";s:6:"height";s:3:"333";s:14:"hwstring_small";s:23:"height='96' width='128'";s:4:"file";s:16:"2012/04/sad1.jpg";s:5:"sizes";a:3:{s:9:"thumbnail";a:3:{s:4:"file";s:16:"sad1-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}s:6:"medium";a:3:{s:4:"file";s:16:"sad1-300x225.jpg";s:5:"width";s:3:"300";s:6:"height";s:3:"225";}s:14:"post-thumbnail";a:3:{s:4:"file";s:16:"sad1-444x198.jpg";s:5:"width";s:3:"444";s:6:"height";s:3:"198";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}

Aynı yazıda galeriye ekli diğer bir resmin aynı alana ait değeri ise aşağıdaki gibi:

a:6:{s:5:"width";s:3:"217";s:6:"height";s:3:"163";s:14:"hwstring_small";s:23:"height='96' width='128'";s:4:"file";s:18:"2013/04/images.jpg";s:5:"sizes";a:1:{s:9:"thumbnail";a:3:{s:4:"file";s:18:"images-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}

Bahsettiğim işlem için SQL cümlesi şu şekilde olmalı:

select t1.ID,t1.post_name,t1.post_title,t1.guid
from wp_posts t1,wp_postmeta t2
where t2.post_id=$POST_ID and t2.meta_key='_thumbnail_id' and t2.meta_value=t1.ID


Öne çıkarılmış görselin (featured image) ayarlandığı yazılarda postmeta tablosunda;
meta_key="_thumbnail_id"
meta_value değeri de posts tablosundaki görselin bulunduğu ID'ye işaret ediyor.