Question

i would like to set an image as featured image of a post. I found this piece of code in the wordpress documentation, it saves the image in the upload directory but the image is not set as featured image of the post (37 in the code) anymore.

Can you please take a look ? thanks a lot

<?php
  $wp_filetype = wp_check_filetype(basename($filename), null );
  $wp_upload_dir = wp_upload_dir();
  $attachment = array(
     'guid' => $wp_upload_dir['url'] . '/' . basename( $filename ), 
     'post_mime_type' => $wp_filetype['type'],
     'post_title' => preg_replace('/\.[^.]+$/', '', basename($filename)),
     'post_content' => '',
     'post_status' => 'inherit'
  );
  $attach_id = wp_insert_attachment( $attachment, $filename, 37 );
  // you must first include the image.php file
  // for the function wp_generate_attachment_metadata() to work
  require_once(ABSPATH . 'wp-admin/includes/image.php');
  $attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
  wp_update_attachment_metadata( $attach_id, $attach_data );
?>
Was it helpful?

Solution

As i understand you want to use a image as a featured image on post right ? then why you are not using backend featured image browse option on post. brom there you can simply uplod image as featured and that featured image you can show with this code on your page the_post_thumbnail( $size, $attr );

OTHER TIPS

you need to add the following line at the end of your code :

// add featured image to post
add_post_meta($post_id, '_thumbnail_id', $attach_id); 
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top