即使裁剪设置为TRUE,ADD_IMAGE_SIZE仍在缩放

时间:2018-10-02 作者:Tintinabulator Zea

我正在尝试将1000 x 648图像裁剪为400 x 400。我在函数中使用此代码。php

add_theme_support( \'post-thumbnails\' );
add_image_size(\'shop-size\', 400, 400, array(center,center) );
add_image_size(\'shop-size2\', 401, 400, true );
然后我转到重新生成插件并运行它。当我运行它的时候,我打开wp内容上传来查看发生了什么。

我看到它创建了一个400x259的缩放图像。regenerate插件甚至表示,它将进行400x400的裁剪,以适应商店大小,然后继续不进行。

我检查了gd是否加载了这个,它返回“gd loaded”

<?php if (extension_loaded(\'gd\')) 
     { 
         echo "gd loaded"; 
     } else { 
         echo "not loaded"; 
} ?>
我还尝试将其挂接到after\\u theme\\u设置中,如下所示:

function add_custom_sizes() {
    add_image_size( \'map-size\', 199, 199, array(\'center\',\'center\') );
    add_image_size(\'shop-size\', 599, 599, array(\'center\',\'center\') );
    add_image_size(\'discover-size\', 749, 620, array(\'center\',\'center\'));
    add_image_size( \'map-size1\', 198, 199, true );
    add_image_size(\'shop-size1\', 598, 599, true );
    add_image_size(\'discover-size1\', 748, 620, true);
}

add_action(\'after_setup_theme\',\'add_custom_sizes\'); 
然而,当我重新生成时,它仍然会生成198x165而不是198x199(从768 x 641开始)

“茁壮成长”主题将家长称为“崛起”。我联系了他们,但他们说他们不支持开发人员的问题。

父级仅使用add\\u image\\u size一次,我尝试删除此项,但仍然存在缩放而非裁剪问题。

我在下面包含了rise文件。我有预感他们会做一些自定义缩放的事情?我必须克服这一点怎么办?

thrive图像优化文件-https://pastebin.com/1QEa6YJv茁壮成长功能-https://pastebin.com/pAqBt285

有人能帮我找出我做错了什么吗?谢谢你的帮助。

3 个回复
SO网友:Vinit Soni

根据你的问题,我认为你上传图片时需要固定大小的裁剪图片,为什么不使用wp_get_image_editor. 我在我的项目中使用了它,我想要固定大小的裁剪图像,所以我编写了这段代码。

$path = $newPath[\'basedir\'].\'/newImgas/\';
$cropfile = uniqid() . \'.png\';
$cropfilename = $path.$cropfile;
$cropImage = home_url(). \'/wp-content/uploads/newImgas/\'.$cropfile;
$c_image = wp_get_image_editor($newImage);
if ( ! is_wp_error($c_image) ) {
  $c_image->resize( 600, 600, TRUE);
  $c_image->save( $cropfilename );
}
您可以找到示例here. 如果这不是你想要的,请回复我。

SO网友:T.Todua

我认为您的问题可能是,您需要设置高优先级(如果解决了,请尝试101,甚至999):

add_action(\'after_setup_theme\', \'add_custom_sizes\',  101 ); 

SO网友:cjbj

GD被加载并不意味着它实际用于处理图像。根据您提供的pastebin代码,我得出结论,您的主题与Kraken image optimizer (作为一个单独的插件或以其他方式与主题捆绑在一起)。

自使用以来add_image_size 仅将数据放置在数组中,实际使用它取决于图像处理功能。通常这是由函数完成的wp_save_image, 允许使用任何图像编辑器(在其上显示:$img = wp_get_image_editor).

因此,可能Kraken编辑器忽略了裁剪设置。如果你的主题允许,你必须找到插件设置并修改它们。Kraken是一个付费计划,因此可能会有限制。

或者,您可以使用wp_image_editors 过滤器将图像编辑器更改回GD,但由于我不知道主题如何使用Kraken,我不确定这样做会产生什么效果。

结束

相关推荐

Remove <p></p> after images

我对<p></p> 出现在my之后的标记<img....>. 以下是我在本地主机上查看生成的页面时显示的内容。。。<img src=\"/wp-content/themes/wunderful/assets/images/feedback-danielle.png\" alt=\"Danielle Johnson Deal Town FC Treasurer\"> <p></p> 请注意随机生成的<p>&