调试上传问题:WP的哪个部分会实际调整图像大小?

时间:2013-09-23 作者:user63457

我在上传大图像时遇到问题:大于(约)2000x2000的图像不会生成缩略图。文件上载良好,但未生成调整大小的版本。未显示任何错误。如果我上传一个较小的,一切正常,生成较小的尺寸(例如:test-100x100.jpg)

我已经联系了我的主机支持,因为我认为这将是一个php-gd 问题,但支持人员表示一切正常。以下是我们排除的情况:

权限问题,磁盘空间不足,内存不足(在内存量为一半的服务器上运行正常)最大上载限制(在WP和服务器上)我们甚至尝试了另一台具有完全相同设置的服务器,在这里一切正常。

我使用最新版本WP的干净副本。没有激活插件,我尝试过重新生成缩略图的插件,但即使在这里,所有过程都成功结束,没有出现错误,但没有进行大小调整所以我没有尝试手动调试WP,而且我很难找到处理上传文件并调整其大小的确切文件。

如果在中找到一些类/wp-includes:

  • class-wp-image-editor.php
  • class-wp-image-editor-gd.php
但在上传过程中似乎没有使用它们。(我把die() 在各种功能中)

1 个回复
SO网友:Dan Ștefancu

您可以将筛选器添加到wp_image_editors 并查看正在使用的编辑器(GD或Imagick)。在过去的一个项目中,我扩展了GD和Imagick上的调整大小例程,负责调整大小的方法包括WP_Image_Editor_Imagick->crop()WP_Image_Editor_GD->_resize().

请注意WP_Image_Editor_GD->resize() 只是一个包装。

这个过程是在ajax上运行的,但是您可以使用var_dump() 要调试它-它将显示在上传的图像消息、带有进度条的框和所有内容上。

add_filter( \'wp_image_editors\', \'wp23092013_extend_image_editor\' );

function wp23092013_extend_image_editor( $editor ) {
    var_dump( $editor );
    return $editor;
}
调试愉快;)

结束

相关推荐

有什么办法可以重写wooCommerce-template.php吗?

我正在尝试对woocommerce模板进行一些自定义。php文件,但我担心它会在下次更新时被覆盖。我想知道是否有一种方法可以从函数重写函数。php和另一个加载我的自定义文件。这是woocommerce中的功能:public function include_template_functions() { include_once( \'woocommerce-template.php\' ); } 我想知道是否有一种方法可以覆盖它,或者其他方法可以覆盖它。