WordPress 上传附件

一,函数介绍

media_handle_upload( string $file_id, int $post_id, array $post_data = array(),array $overrides = array('test_form' => false) )


原型函数位于wp-admin/includes/media.php文件中。

参数

$file_id (string) (必须) 文件发送的 $_FILES 数组的索引。
$post_id (int) (必须) 要将媒体项目附加到的帖子的POST ID。必需的,但可以设置为0,创建与POST无关的媒体项。
$post_data (array) (可选) 覆盖一些附件。
$overrides (array) (可选) 重写函数 wp_handle_upload() 。默认值: array(‘test_form’ => false)

 

二,修改默认上传附件名

WordPress 上传图片,默认会保持原图片名,有时候我们不需要这样做,可以如下修改。

add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' ); 
function custom_upload_filter( $file ){
    $info = pathinfo($file['name']);
    $ext = $info['extension'];
    $filedate = date('YmdHis') . rand(10,99); $file['name'] = $filedate.'.'.$ext;
    return $file;
}

 

三,获取附件路径

wp_get_attachment_image_src( $attachment_id, $size, $icon );

返回值:

Array
(
    [0] => url //图片地址
    [1] => width //图片宽度
    [2] => height //图片高度
    [3] =>  boolean //true表示返回了缩放后的图片,false表示返回了原始图片
)

参数说明:

$attachment_id – 数值,必需,想要获取信息的附件ID,默认值:None
$size – 字符串,获取指定尺寸的图像,默认值:None,可选thumbnail, medium, large or full(对应后台——设置——多媒体的图像大小 ,full表示原始尺寸),或通过array(300,240)自定义图片大小。需要注意的是WordPress 2.5 以前的版本是没有 $size 参数的,只显示原始尺寸。
$icon – 布尔,可选,是否使用媒体图标来表示当前附件,比如:如果要获取的附件不是一张图片,而是,比如说视频,让$icon为真可以返回代表视频(mime type:video)的图标,否则只能返回空值。这些代表不同mime type的图片在wp-includes/images/crystal目录下

示例:

$getThumbnail = wp_get_attachment_image_src( get_post_thumbnail_id(get_the_ID()),full);
echo $getThumbnail[0];


函数位置:wp_get_attachment_image_src()位于wp-includes/media.php

 

收藏
评论
打赏
WordPress 主题开发
WordPress 密码生成和密码验证
2023-07-29
WordPress 主题开发
WordPress 后台添加菜单
2024-03-26
飞翔的鱼丸
39474 阅读
82 发布
2 收藏
动态
FishV 主题 v1.21.0 发布
LandV 企业主题 v2.8.0 发布
MirageV 主题 v2.6.4 发布
FishV 主题 v1.14 发布
MirageV 主题 v2.5 正式发布
BotV 插件 v1.7.0 发布
LandV 企业主题 v2.6.0 发布
MirageV 主题 v2.6.0 发布
生成中...
真诚赞赏,手留余香
登录
注册
重置密码