您的当前位置:首页 > 知识博客 > wordpress建站

WordPress 从前端上传图片并作为文章的附件

时间:2024-03-29

使用WordPress上传图片

如果你正在使用WordPress开发主题,你可能会遇到需要实现从前端上传图片的需求。虽然看起来有些麻烦,但实际上WordPress已为我们提供了非常简单的接口,只需几行代码即可完成附件上传。

主要工作是引用必要的文件,使用media_handle_uploadupdate_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后台看到的效果和直接在后台插入缩略图是一样的。看起来非常简单吧!如果你有更简单的方法,欢迎在评论中分享。


欢迎咨询/Welcome to inquire
tel/vx:18842938855
qq:1685522781
email:1685522781@qq.com

Copyright © 2019-2024 thinkphp.xyz


Whatsapp