php [将图像上传到媒体库]将图像上传到媒体库并将其设置为$ post_id(如果已指定)的特色图像。 #wordpress
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php [将图像上传到媒体库]将图像上传到媒体库并将其设置为$ post_id(如果已指定)的特色图像。 #wordpress相关的知识,希望对你有一定的参考价值。
/**
* Upload the image into the media library and set it as featured image for $post_id (if specified).
*
* @param string $url the image url/path.
* @param int $post_id the post it to whom assign the featured image.
*
* @return int the attachment id.
*/
function nine3_upload_image( $url, $post_id = false ) {
// Use file_get_contents for file saved locally and wp_remote_get for the remote ones.
if ( preg_match( '/http.?:\/\//', $url ) ) {
$content = wp_remote_get( $url );
} else {
$content = file_get_contents( $url );
}
// Set the upload date as the post date.
$post_date = $post_id ? get_post_field( 'post_date', $post_id ) : null;
$filename = basename( $url );
$upload_file = wp_upload_bits( $filename, '', $content, $post_date );
if ( ! $upload_file['error'] ) {
$wp_filetype = wp_check_filetype( $filename, null );
$attachment = array(
'post_mime_type' => $wp_filetype['type'],
'post_parent' => (int) $post_id,
'post_title' => preg_replace( '/\.[^.]+$/', '', $filename ),
'post_content' => '',
'post_status' => 'inherit',
);
if ( ! empty( $post_date ) ) {
$attachment['post_date'] = $post_date;
}
$attachment_id = wp_insert_attachment( $attachment, $upload_file['file'], 0 );
if ( ! is_wp_error( $attachment_id ) ) {
require_once( ABSPATH . 'wp-admin/includes/image.php' );
$attachment_data = wp_generate_attachment_metadata( $attachment_id, $upload_file['file'] );
wp_update_attachment_metadata( $attachment_id, $attachment_data );
return $attachment_id;
}
}
return null;
}
以上是关于php [将图像上传到媒体库]将图像上传到媒体库并将其设置为$ post_id(如果已指定)的特色图像。 #wordpress的主要内容,如果未能解决你的问题,请参考以下文章
Sitecore 媒体库上传错误
使用npm twit将图像上传到Twitter时“媒体类型无法识别”
我需要将 SQL Azure 中的媒体内容(视频或图像)存储上传到 Azure BLOB 容器
从 Wordpress 媒体库中获取单个特定图像
以编程方式将媒体上传到 Shopware 6 的最佳方式?
如何在 WP 中组织上传的媒体?