WordPress 从前端上传图片并作为文章的附件
文 / @WordPress主题
使用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后台看到的效果和直接在后台插入缩略图是一样的。看起来非常简单吧!如果你有更简单的方法,欢迎在评论中分享。
相关文章
-
如何创建WordPress古腾堡编辑器的区块(PHP+原生JS) 2024-01-10 01:01:06
-
搭建一个WordPress网站需要多少成本 2023-11-06 00:09:51
-
Symlink介绍(附:如何使用Symlink进行WordPress开发) 2023-11-05 23:38:32
-
让WordPress实现数据库同步的插件:HyperDB 2023-10-24 23:40:49
-
allegro电商平台值得做吗(附:2023年Allegro注册流程指南) 2023-10-08 21:53:39
-
印度跨境电商平台有哪些(附:印度跨境电商做什么产品好) 2023-10-08 21:34:23
-
跨境电商必看的几大海外二手电商平台 2023-10-08 18:04:42
-
WordPress同城互联网产品解决方案:UBASE 2023-10-03 16:40:39
-
WordPress网站的安全插件:wordfence 2023-09-14 09:25:18
-
WordPress 6.3 支持在手动更新插件和主题失败后回滚旧版本 2023-08-28 16:58:45