最后,我找到了另一个帮助我实现我想要做的事情的职位。https://stackoverflow.com/questions/4371929/convert-custom-field-image-to-become-featured-image-in-wordpress
$uploads = wp_upload_dir();
// Get all attachment IDs and filenames
$results = $wpdb->get_results("SELECT post_id, meta_value FROM $wpdb->postmeta WHERE meta_key = \'_wp_attached_file\'");
// Create an \'index\' of attachment IDs and their filenames
$attachments = array();
foreach ($results as $row)
$attachments[ intval($row->post_id) ] = $row->meta_value;
// Get all featured images
$images = $wpdb->get_results("SELECT post_id, meta_value AS \'url\' FROM $wpdb->postmeta WHERE meta_key = \'lifestyle_post_image\'");
// Loop over each image and try and find attachment post
foreach ($images as $image) {
if (preg_match(\'#^https?://#\', $image->url))
$image->url = str_replace($uploads[\'baseurl\'], \'\', $image->url); // get relative URL if absolute
$filename = ltrim($image->url, \'/\');
if ($attachment_ID = array_search($filename, $attachments)) {
// found attachment, set post thumbnail and delete featured image
update_post_meta($image->post_id, \'_thumbnail_id\', $attachment_ID);
delete_post_meta($image->post_ID, \'Featured Image\');
}
}