WordPress 从前端上传图片并作为文章的附件
文 / @UTHEME
使用WordPress上传图片
如果你正在使用WordPress开发主题,你可能会遇到需要实现从前端上传图片的需求。虽然看起来有些麻烦,但实际上WordPress已为我们提供了非常简单的接口,只需几行代码即可完成附件上传。
主要工作是引用必要的文件,使用media_handle_upload
和update_post_meta
功能。下面是具体的代码实现。
function insert_attachment($file_handler, $post_id, $setthumb='false') {
// 检查附件是否上传成功
if($_FILES[$file_handler]['error'] !== UPLOAD_ERR_OK) {
return false;
}
require_once(ABSPATH . 'wp-admin' . '/includes/image.php');
require_once(ABSPATH . 'wp-admin' . '/includes/file.php');
require_once(ABSPATH . 'wp-admin' . '/includes/media.php');
// 上传到媒体库并返回附件的ID
$attach_id = media_handle_upload($file_handler, $post_id);
// 把上传成功的附件附加到文章
if($setthumb) {
update_post_meta($post_id, '_thumbnail_id', $attach_id);
}
return $attach_id;
}
如何使用上述函数
对于新手来说,以下是使用上述函数的步骤,而高手可以直接跳过。在使用时,只需将PHP的全局变量$_FILES
作为函数的第一个参数,需要插入的文章ID作为第二个参数即可。
if($_FILES) {
foreach($_FILES as $file => $array) {
$newupload = insert_attachment($file, $post_id);
}
}
上传成功后,你在WordPress后台看到的效果和直接在后台插入缩略图是一样的。看起来非常简单吧!如果你有更简单的方法,欢迎在评论中分享。

相关文章
-
盘点2023年依然好用的4款WordPress轻社区主题 2023-05-29 08:00:54
-
盘点2023年最好用的三款wordpress知识库主题 2023-05-29 08:00:26
-
个人网站选择WordPress还是Typecho? 2023-05-28 23:33:13
-
wordpress建外贸B2C独立站的五大优势 2023-05-28 23:05:49
-
盘点2023年依然好用的3款wordpress文档主题 2023-05-28 23:02:19
-
盘点2023年依然好用的3款wordpress外贸网站主题 2023-05-28 22:59:41
-
盘点2023年依然好用的3款wordpress电商主题 2023-05-28 22:56:05
-
wordpress后台地址是多少(附:后台地址修改教程) 2023-05-28 22:54:15
-
盘点2023年依然好用的3款wordpress笔记主题 2023-05-28 22:51:13
-
开源wordpress主题:kratos 介绍 2023-05-28 22:47:46