如何限制可以上传到WordPress帖子的图片/视频的数量

时间:2011-06-26 作者:aamir

我的网站上会有很多用户将自己的帖子上传给作者。现在,他们可以在每篇文章中上传任意数量的图像/视频。我想限制他们每个帖子最多上传4张图片/视频。谁能帮帮我吗?

3 个回复
SO网友:Bainternet

尝试以下操作:

add_filter(\'wp_handle_upload_prefilter\', \'limit_wp_handle_upload_prefilter\');
function yoursite_wp_handle_upload_prefilter($file) {
  // This bit is for the flash uploader
  if ($file[\'type\']==\'application/octet-stream\' && isset($file[\'tmp_name\'])) {
    $file_size = getimagesize($file[\'tmp_name\']);
    if (isset($file_size[\'error\']) && $file_size[\'error\']!=0) {
      $file[\'error\'] = "Unexpected Error: {$file_size[\'error\']}";
      return $file;
    } else {
      $file[\'type\'] = $file_size[\'mime\'];
    }
  }
  if ($post_id = (isset($_REQUEST[\'post_id\']) ? $_REQUEST[\'post_id\'] : false)) {
    if (count(get_posts("post_type=attachment&post_parent={$post_id}"))>3)
      $file[\'error\'] = "Sorry, you cannot upload more than four (4) image.";
  }
  return $file;
}
在将其粘贴到主题函数中之后。php上传限制应为每篇文章总共4个文件。

SO网友:bueltge

我也有关于解决方案,使用相同的想法和挂钩,只是更复杂,功能更多,并且在类中结构化,便于重用。是一个客户项目,现在是免费的:https://github.com/bueltge/Limit-Upload

SO网友:Brandon Johnson

希望使用此代码的任何人,请确保包括\'posts_per_page\' => -1 如果要将数字限制在5以上,因为get_posts 由于默认分页,此页面上的查询最多只能得到5个。

看见https://stackoverflow.com/questions/2134500/why-does-get-posts-return-only-5-matching-posts-when-it-should-return-9 了解更多信息。干杯

结束

相关推荐

404从wp-Content/Uploads/获取图像时

我在获取图像时获得404状态,http仍然包含该图像。图像显示在浏览器中,但404代码中断了一些应用程序。对wp内容/上载/的调用被重定向到。htaccess:<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\\.php$ - [L] RewriteRule (.*) /index.php?getfile=$1 [L] </IfModule>&