Добавление миниатюры сообщений в программно вставленное сообщение

Я хочу вставить пост программно, так вот код для добавления:

global $user_ID; $new_post = array( 'post_title' => 'My New Post', 'post_content' => 'Lorem ipsum dolor sit amet...', 'post_status' => 'publish', 'post_date' => date('Ymd H:i:s'), 'post_author' => $user_ID, 'post_type' => 'post', 'post_category' => array(0) ); $post_id = wp_insert_post($new_post); 

Как добавить отображаемое изображение для публикации и запустить его для тестирования?

Solutions Collecting From Web of "Добавление миниатюры сообщений в программно вставленное сообщение"

_thumbnail_id сообщения сохраняется только как сообщение мета с ключом: _thumbnail_id . Поэтому после того, как вы вставляете сообщение и получаете идентификатор сообщения, вы можете установить мета-сообщение для этой записи. $thumbnail_id – это всего лишь идентификатор изображения, которое вы хотели бы задать как миниатюру, до вас, так как я не могу сказать из вашего вопроса, что это должно быть.

 global $user_ID; $new_post = array( 'post_title' => 'My New Post', 'post_content' => 'Lorem ipsum dolor sit amet...', 'post_status' => 'publish', 'post_date' => date('Ymd H:i:s'), 'post_author' => $user_ID, 'post_type' => 'post', 'post_category' => array(0) ); $post_id = wp_insert_post($new_post); if( ! is_wp_error( $post_id ) ) update_post_meta( $post_id, '_thumbnail_id', $thumbnail_id ); 
  $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, $post_id ); 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 ); 

Для получения дополнительной информации см. Эту ссылку http://codex.wordpress.org/Function_Reference/wp_insert_attachment

используйте функцию set_post_thumbnail ,

 //$file is the path to your uploaded file (for example as set in the $_FILE posted file array) //$filename is the name of the file //first we need to upload the file into the wp upload folder. $upload_file = wp_upload_bits($filename, null, @file_get_contents($file)); if(!$upload_file['error']) { //if succesfull insert the new file into the media library (create a new attachment post type) $wp_filetype = wp_check_filetype($filename, null ); $attachment = array( 'post_mime_type' => $wp_filetype['type'], 'post_parent' => $post_id, 'post_title' => preg_replace('/\.[^.]+$/', '', $filename), 'post_content' => '', 'post_status' => 'inherit' ); //wp_insert_attachment( $attachment, $filename, $parent_post_id ); $attachment_id = wp_insert_attachment( $attachment, $upload_file['file'], $post_id ); if (!is_wp_error($attachment_id)) { //if attachment post was successfully created, insert it as a thumbnail to the post $post_id require_once(ABSPATH . "wp-admin" . '/includes/image.php'); //wp_generate_attachment_metadata( $attachment_id, $file ); for images $attachment_data = wp_generate_attachment_metadata( $attachment_id, $upload_file['file'] ); wp_update_attachment_metadata( $attachment_id, $attachment_data ); set_post_thumbnail( $post_id, $attachment_id ); } }