在WordPress插件中添加文件上传功能,需要使用WordPress提供的API函数,以下是详细的步骤:
(图片来源网络,侵删)1. 创建表单
你需要在你的插件的后台页面上创建一个表单,用于上传文件,这个表单应该包含一个文件输入字段和一个提交按钮。
<form action="" method="post" enctype="multipart/formdata"> <?php wp_nonce_field('upload_file', 'upload_file_nonce'); ?> <input type="file" name="upload_file" id="upload_file"> <input type="submit" name="submit" value="Upload File"> </form>
2. 处理文件上传
当用户点击提交按钮时,你需要处理文件上传,这可以通过在插件的PHP代码中添加一个处理函数来实现。
add_action('admin_init', 'my_plugin_handle_upload'); function my_plugin_handle_upload() { if (isset($_POST['submit'])) { check_admin_referer('upload_file'); $uploaded_file = $_FILES['upload_file']; $upload_overrides = array( 'test_form' => false, 'mimes' => array('jpg|jpeg|png|gif'), 'max_size' => '1024k', ); $movefile = wp_handle_upload($uploaded_file, $upload_overrides); if ($movefile && !isset($movefile['error'])) { echo "File is an image " . $movefile["url"]; } else { echo $movefile['error']; } } }
在这个例子中,我们首先检查是否有提交操作,如果有,我们使用check_admin_referer
函数检查是否已经设置了安全验证,我们从$_FILES
数组中获取上传的文件,并设置一些上传选项,如允许的文件类型和最大文件大小,我们使用wp_handle_upload
函数处理文件上传。
3. 显示上传的文件
如果你想在后台页面上显示用户上传的文件,你可以使用wp_get_attachment_image
函数。
if ($movefile && !isset($movefile['error'])) { echo "File is an image " . $movefile["url"]; echo wp_get_attachment_image($movefile['id'], 'thumbnail'); } else { echo $movefile['error']; }
在这个例子中,我们首先检查文件是否成功上传,如果成功,我们使用wp_get_attachment_image
函数生成一个图像标签,显示用户上传的图片。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。