也想出现在这里?联系我们

WordPress 如何在前端自定义上传图片文件到媒体库

2023.10.02 wordpress教程
  • 文章介绍
  • 升级版本
  • 评价&建议

要在WordPress前端自定义上传图片文件到媒体库,你可以创建一个自定义表单,允许用户上传文件,并使用WordPress的文件上传功能将文件添加到媒体库。以下是一个基本的步骤:

  1. 创建一个前端表单:
    使用HTML和可能的JavaScript创建一个前端表单,允许用户选择并上传文件。确保表单包含一个文件输入字段,例如:

  2. 处理表单提交:
    创建一个处理表单提交的PHP函数。你可以在主题的functions.php文件中添加以下代码来处理表单提交:

    function custom_upload_file() {
       if (isset($_FILES['customfile'])) {
           $file = $_FILES['customfile'];
    
           // 设置上传目录
           $upload_dir = wp_upload_dir();
    
           // 生成唯一的文件名
           $file_name = wp_unique_filename($upload_dir['path'], $file['name']);
    
           // 移动文件到上传目录
           move_uploaded_file($file['tmp_name'], $upload_dir['path'] . '/' . $file_name);
    
           // 添加文件到媒体库
           $attachment = array(
               'post_mime_type' => $file['type'],
               'post_title'     => sanitize_file_name($file['name']),
               'post_content'   => '',
               'post_status'    => 'inherit'
           );
           $attach_id = wp_insert_attachment($attachment, $upload_dir['path'] . '/' . $file_name);
    
           // 更新附件元数据
           require_once(ABSPATH . 'wpadmin/includes/image.php');
           $attach_data = wp_generate_attachment_metadata($attach_id, $upload_dir['path'] . '/' . $file_name);
           wp_update_attachment_metadata($attach_id, $attach_data);
    
           // 返回附件ID或其他响应
           echo '文件已成功上传!附件ID为:' . $attach_id;
       }
    }
    add_action('init', 'custom_upload_file');
  3. 显示上传表单:
    在你希望用户上传文件的页面上显示前端表单。

这样,当用户使用前端表单上传文件时,文件将被添加到WordPress媒体库,并且你可以获取到附件的ID或执行其他操作,以满足你的需求。确保根据你的具体需求进行适当的安全性检查和错误处理。

有用0
  • 2023.10.02初次和大家见面了!

等待您对该主题的建议

发表评论

还能输入240个字

Hi, 欢迎加入Wordpress技术交流群,带你装逼带你飞!

我要入群
也想出现在这里?联系我们
wordpress加速

我来推荐一个更牛逼的给你看看?

  • 猛戳我吧