MEDIA_HANDLE_Upload:未定义函数?

时间:2015-08-09 作者:Derek

我一直在使用前端上传和后期创建脚本。出于某种原因,从“我的项目保存”调用media\\u handle\\u upload函数。php文件作为未定义函数返回。我有什么遗漏吗?权限、其他文件、咖啡?

这是我在函数中的函数。php

function process_attachments() {
    //Process Uploads   
      if (!function_exists(\'wp_generate_attachment_metadata\')){
          require_once(ABSPATH . "wp-admin" . \'/includes/image.php\');
          require_once(ABSPATH . "wp-admin" . \'/includes/file.php\');
          require_once(ABSPATH . "wp-admin" . \'/includes/media.php\');
      }
       if ($_FILES) {
          foreach ($_FILES as $file => $array) {
              if ($_FILES[$file][\'error\'] !== UPLOAD_ERR_OK) {
                  return "upload error : " . $_FILES[$file][\'error\'];
              }
              $attach_id = media_handle_upload( $file, $post_id );
          }   
      }

      //Attachment ID if set
      if ($attach_id > 0){
          //and if you want to set that image as Post  then use:
          return $attach_id;
      }
}
我从我的项目save中调用这个。php文件(这是精简的,我觉得没有必要显示创建后的表单数据)

$attach_id = process_attachments();
      if($attach_id > 0) {
          //and if you want to set that image as Post  then use:
          $whimkey->attach_id = $attach_id;
      }
media_handle_upload 是一个Wordpress function 它怎么可能是未定义的?

2 个回复
SO网友:Derek

所以我不知道这是否是最好的方法,但我的问题是在包含函数的必要文件上围绕require\\u once的if语句。注释掉了IF语句,它成功了。我现在就去喝咖啡;)

//if (!function_exists(\'wp_generate_attachment_metadata\')){
          require_once(ABSPATH . \'wp-admin/includes/image.php\');
          require_once(ABSPATH . \'wp-admin/includes/file.php\');
          require_once(ABSPATH . \'wp-admin/includes/media.php\');
      //}

SO网友:Rituparna sonowal

根据您的代码,您在if语句中输入了错误的条件。您可以在此处查看第一个示例:Media handle upload

结束

相关推荐

对主题目录中的文件使用media_sideload_Image

我正在建立一个Wordpress网站,管理员可以从post metabox上传视频文件。在那篇帖子被保存并且视频文件被附加到帖子之后,我使用ffmpeg在视频的第一秒获取屏幕截图,然后将这个屏幕截图作为JPG文件保存在主题目录的“tmp”目录中。最后,我想以编程方式将此屏幕截图制作为后期特色图像。我使用media\\u sideload\\u image函数,它通常用于从另一台服务器获取图像,并将该图像设置为后期特色图像,我认为此函数也可以在这种情况下使用。在我的例子中,视频截图已成功保存到我的主题目录中