我可以使用add_image_size函数添加多少个额外的图像大小?

时间:2014-03-17 08:06:41

标签: wordpress image .htaccess wordpress-theming thumbnails

我使用的是Wordpress 3.8.1 rus版本。

我有自定义帖子类型组合&滑块以及标准帖子和页面。

我想在Wordpress上添加一些额外的图像尺寸,以便在网站上显示不同的图像缩略图。

所以我使用此代码在我的functions.php文件中添加其他大小:

    if ( function_exists( 'add_theme_support' ) ) {
       add_theme_support( 'post-thumbnails' );
       set_post_thumbnail_size( 315, 315, true ); 
     }

    if ( function_exists( 'add_image_size' ) ) {
          add_image_size('portfolio-thumbnail',315, 315, true );
        //add_image_size('slider-thumbnail',350, 150, true );
        //add_image_size('slider-single',700, 370, true );
        //add_image_size('portfolio-article-thumbnail',270, 150, true );
        //add_image_size('article-single',700, 370, true );
          add_image_size('portfolio-single-image', 300, 533, false );
        //add_image_size('portfolio-single-gallery', 72, 72, true );
          add_image_size('portfolio-related-projects', 150, 150, true );
        //add_image_size('portfolio-project-article', 500, 400, true );
        //add_image_size('portfolio-project-article2', 700, 500, true );
        //add_image_size('dimal-single-image', 300, 9999 )
    }

现在我解释为什么会评论一些额外的尺码。 当我想将特色图片上传到标准或自定义帖子时,我打开图像上传器,选择一张图片并成功上传。只有代码保持原样。

但如果我取消注释其中一个其他尺寸并尝试将特色图像上传到帖子 - 我会收到HTTP错误。图片未上传。

更新 HTTP错误没有任何错误编号。

同样,如果我评论一些未注释的尺寸,并成功上传新的图片!

经过一些试验,我发现只有当我在TOTAL中留下3个未注释的尺寸时 - 图像上传成功。如果我添加偶数1并且总共获得4个大小 - 图像不会上传,我会收到HTTP错误。

我必须说明只有处理分辨率大于1280x800的大图片时才会出现此问题。

那么,是否有其他图像尺寸的限制?问题是什么?我使用共享主机。

ADDITION

我尝试在我的本地xampp服务器上测试我的WP主题,一切顺利!所以我现在可以肯定地说,问题在于服务器设置。我通过phpinfo和我的共享托管服务器设置通过phpinfo比较了我的本地服务器设置。我发现了这些差异:

共享服务器设置:

  • max_execution_time 10 10
  • max_file_uploads 128 128
  • max_input_nesting_level 64 64
  • max_input_time 60 60
  • memory_limit 64M 64M
  • post_max_size 64M 64M
  • upload_max_filesize 64M 64M

本地服务器设置:

  • max_execution_time 30 30
  • max_file_uploads 20 20
  • max_input_nesting_level 64 64
  • max_input_time 60 60
  • memory_limit 128M 128M
  • post_max_size 64M 64M
  • upload_max_filesize 64M 64M

另外,我尝试将本地服务器的memory_limit从128M更改为64M,图像上传仍然运行良好!

好的,我从我的主机上得到答案,他们说错误发生的原因是"脚本中超过了10秒的最大执行时间"。并建议通过我网站的public_html文件夹中的.htaccess文件添加新的max_execution_time值。

所以我将这些行添加到我的public_html文件夹中的.htaccess文件中:

<IfModule mod_php5.c>
php_value memory_limit 128M
php_value max_execution_time 30
</IfModule>

我决定添加新的memory_limit值,以防万一。 现在一切顺利!感谢所有试图帮助我解决问题的人!

2 个答案:

答案 0 :(得分:1)

使用大图像时,服务器在某些时候内存不足是正常的,因此您收到的错误很可能与此有关。

阅读这篇文章了解详情https://wordpress.stackexchange.com/questions/76915/http-error-when-uploading-images-over-specific-dimensions

答案 1 :(得分:0)

是否忘记删除此行末尾的分号?

add_image_size('portfolio-related-projects',150,150,true);