Convert custom field image to become favorite in WordPress?

I am launching a css gallery and I need to convert all the images in the gallery from the user field in order to become the Best Image.
Does anyone have any tips on how I can do this?

+3
source share
1 answer

OK, firstly, if you want to completely exclude TimThumb, and your images are currently not the right size, you need to find a plugin that can batch resize the media library .

, (.. wp_posts) .

$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 = 'Featured 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');
    }
}

, , , - , .

0

Source: https://habr.com/ru/post/1778858/


All Articles