敏捷上传器 Wordpress 实现

Posted

技术标签:

【中文标题】敏捷上传器 Wordpress 实现【英文标题】:Agile Uploader Wordpress implementation 【发布时间】:2012-11-30 05:23:48 【问题描述】:

我正在尝试实现一个首页 Wordpress 上传器,它使用户可以从 Wordpress 页面上传图像,并在上传之前调整图像大小。我找到了敏捷上传器。上传者是一个表格。

问题是当我点击表单中的提交按钮发送数据时,所有字段都存储在帖子中,但图像没有。

这是我上传页面的代码:

<form id="submitForm" action="<?php echo get_permalink(); ?>" method="post" enctype="multipart/form-data" onsubmit="return ray.ajax()">
<!-- upload photos -->

  <div style="float:left;width:410px; height:246px;">
    <div id="multiple"></div>
  </div>

  <script type="text/javascript">
    jQuery('#multiple').agileUploader(
      formId: 'submitForm',
      flashVars: 
        file_post_var: 'attachment',
        firebug: false,
        form_action: '',
        file_limit: 15,
        max_post_size: (1000 * 1024)
      
    ); 
  </script>

  </div>   <!-- end - upload photos -->
</form>

和 Wordpress 上传的代码(在同一个文件中)

/* upload photos */
if ($post_error == false) 

  /* required files */
  require_once(ABSPATH . "wp-admin" . '/includes/image.php');
  require_once(ABSPATH . "wp-admin" . '/includes/file.php');
  require_once(ABSPATH . "wp-admin" . '/includes/media.php');

  $files = $_FILES['attachment'];

  if ($files)  

    foreach ($files['name'] as $key => $value) 
      if ($files['name'][$key]) 
        $file = array(
          'name' => $files['name'][$key],
          'type' => $files['type'][$key],
          'tmp_name' => $files['tmp_name'][$key],
          'error' => $files['error'][$key],
          'size' => $files['size'][$key]
        );  
      

      $_FILES = array("attachment" => $file);
      //$_FILES = array_reverse($_FILES);
      foreach ($_FILES as $file => $array)                                   
        $attach_id = media_handle_upload( $file, $ad_id, array(), array( 'test_form' => false ) );
        if ($attach_id < 0)  $post_error = true;
      
    
  

我做错了什么?

【问题讨论】:

那么问题是整个表单的保存? 任何错误信息?,检查您的萤火虫控制台并发布到这里以获得快速答案 【参考方案1】:

您确定图片没有作为“附件”保存到创建的帖子中吗?

尝试运行:

$attachments = get_posts( array(
'post_type' => 'attachment',
'posts_per_page' => -1,
'post_parent' => $post->ID,
'exclude'     => get_post_thumbnail_id()) 
);
var_dump($attachments);

在您用于查看帖子的模板文件中。 如果您对编码不满意,您可以使用插件来显示附件。 喜欢这个"List Attachments Shortcode" 插件。

【讨论】:

【参考方案2】:

这可能有点简单,可能不是您的问题,但您在 if ($attach_id &lt; 0) $post_error = true; 之后缺少一个花括号结尾 ()。

这是在您的实际代码中还是您只是忘记将其放入上述问题中?

【讨论】:

以上是关于敏捷上传器 Wordpress 实现的主要内容,如果未能解决你的问题,请参考以下文章

php 这个WordPress插件演示了如何使用WordPress提供的可拖动元文件构建自己的插件页面,需要WordPr

需要一种方法来更改 wordpress 媒体上传器 div TB_window css

Wordpress 媒体上传器无法正确上传

WordPress REST API - 如何在没有插件的情况下进行身份验证

无法通过 Wordpress 上传器上传媒体

带有大小选择的 WordPress 媒体上传器