function wordpress_gorsel($postid,$dosya){
    require_once(ABSPATH . "wp-admin" . '/includes/image.php');
    require_once(ABSPATH . "wp-admin" . '/includes/file.php');
    require_once(ABSPATH . "wp-admin" . '/includes/media.php');
    $resimid = media_handle_upload($dosya, $postid);
    update_post_meta($postid, '_thumbnail_id', $resimid);
    $resim_ekle['ID'] = $resimid;
    wp_update_post($resim_ekle);
    set_post_thumbnail($postid, $resimid);
    return $resimid;
}

denemeden yazdığım bir fonksiyon. ama teorik olarak çalışması lazım.


eğer slat php ile yapacaksan
dosyayı istediğin yere upload ettikten sonra postmeta tablosuna
id, post_id, '_thumbnail_id','upload_klasörü_dosya_yolu'
şeklinde bir kayıt girmen gerekiyor yanlış hatırlamıyorsan

mesela

$ekle = mysql_query("INSERT INTO wp_postmeta SET post_id = 125, meta_key = '_thumbnail_id', meta_value = '2011/11/portrait-of-woman.jpg');

sadece post ile ilgili resim eklemek istiyorsan _wp_attached_file parametresi ile 2 kayıt ekleyeceksin.

$ekle = mysql_query("INSERT INTO wp_postmeta SET post_id = 125, meta_key = '_wp_attached_file', meta_value = '2011/11/portrait-of-woman.jpg');