admin管理员组文章数量:1122846
I'm retroactively creating a post with wp_insert_post() and attaching a featuring image to it. I need the image to go into the folder that corresponds to the post's publishing date.
I'm using time parameter in wp_handle_upload function that supposed to move files to the directories according to the parameter value (see in the code - $upload_date - static value for now). But right now the image moves to the current year/month folder ignoring $upload_date (Ex.: Supposed to go 2007/11, goes to 2012/12).
$output_dir = $uploads['path'];
new_filepath = $output_dir.'/'.$file;
// INSERT POST AND GET POST ID
$my_post_id = wp_insert_post($my_post);
// Copy image from my folder to WP Uploads
rename($filename,$new_filepath);
// required for wp_handle_upload() to upload the file
$upload_overrides = array( 'test_form' => FALSE );
$upload_date = '2007/11'; // Using this date for testing purposes
$movefile = wp_handle_upload( $new_filepath, $upload_overrides, $upload_date );
$wp_filetype = wp_check_filetype(basename($new_filepath), null );
$attachment = array(
'post_mime_type' => $wp_filetype['type'],
'post_title' => $post_title,
'post_content' => $post_content,
'post_status' => 'inherit'
);
$attach_id = wp_insert_attachment( $attachment, $new_filepath, $my_post_id );
$attach_data = wp_generate_attachment_metadata( $attach_id, $new_filepath );
wp_update_attachment_metadata( $attach_id, $attach_data );
// ADD FEATURED IMAGE TO THE POST
add_post_meta($my_post_id, '_thumbnail_id', $attach_id);
I'm retroactively creating a post with wp_insert_post() and attaching a featuring image to it. I need the image to go into the folder that corresponds to the post's publishing date.
I'm using time parameter in wp_handle_upload function that supposed to move files to the directories according to the parameter value (see in the code - $upload_date - static value for now). But right now the image moves to the current year/month folder ignoring $upload_date (Ex.: Supposed to go 2007/11, goes to 2012/12).
$output_dir = $uploads['path'];
new_filepath = $output_dir.'/'.$file;
// INSERT POST AND GET POST ID
$my_post_id = wp_insert_post($my_post);
// Copy image from my folder to WP Uploads
rename($filename,$new_filepath);
// required for wp_handle_upload() to upload the file
$upload_overrides = array( 'test_form' => FALSE );
$upload_date = '2007/11'; // Using this date for testing purposes
$movefile = wp_handle_upload( $new_filepath, $upload_overrides, $upload_date );
$wp_filetype = wp_check_filetype(basename($new_filepath), null );
$attachment = array(
'post_mime_type' => $wp_filetype['type'],
'post_title' => $post_title,
'post_content' => $post_content,
'post_status' => 'inherit'
);
$attach_id = wp_insert_attachment( $attachment, $new_filepath, $my_post_id );
$attach_data = wp_generate_attachment_metadata( $attach_id, $new_filepath );
wp_update_attachment_metadata( $attach_id, $attach_data );
// ADD FEATURED IMAGE TO THE POST
add_post_meta($my_post_id, '_thumbnail_id', $attach_id);
Share
Improve this question
asked Dec 26, 2012 at 18:24
DimaDima
2211 silver badge6 bronze badges
1
- 1 You just closed another question that was substantially the same as this one: webcache.googleusercontent.com/… – s_ha_dum Commented Dec 26, 2012 at 20:12
1 Answer
Reset to default 0Before copying files (rename()
) to the final destination I set time parameter for wp_upload_dir()
(instead of trying to make wp_handle_upload()
to pass it) and it transfers files to appropriate directories now.
$uploads = wp_upload_dir( $upload_date );
$output_dir = $uploads[ 'path' ];
rename( $filename, $new_filepath );
版权声明:本文标题:wp insert post - Organizing uploaded media with wp_insert_post() and wp_handle_upload according to time parameter 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1736283343a1926938.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论