首先,我尽可能彻底地做了研究。已经进行了搜索,但我没有找到任何关于我的确切问题的建议或解决方案
好了,该解释了。
目前我正在为一个客户开发一个画廊主题(我不是这个主题的原始开发人员,它是由办公室的另一个开发人员创建的)。主题相当简单,主页显示每个包含图像的帖子的220x170个缩略图。单击图像,出现带有全尺寸图像的页面。很简单。
现在我的麻烦开始了。客户端希望定义220x170缩略图中显示的图像区域,因为当前WordPress仅将图像居中。我这样做的过程是将图像上传到图库,插入帖子并保存。
然后单击Set Featured image. 主要问题从这里开始。我有两种方法可以解决这个问题,都会引起问题。如果裁剪图像,请选择Apply Changes to: Thumbnail, 保存,然后选择Use as featured image, 特色图像仍为全尺寸图像,只是调整大小以适应220x170大小。
起初,我以为我找到了一个解决方案,但我更倾向于称之为创可贴修复,我的客户宁愿下一步避免这种情况。如果我裁剪图像,现在使用All image sizes, 这会将正确裁剪的图像设置为thumnbnail,但显然会覆盖。。。所有图像大小。因此,如果我回到我的帖子(比方说我无意中删除了帖子中的图像)并想将其重新插入,那么现在库中的图像就是裁剪后的图像。
我试图寻找一些关于如何修复第一个问题的指导,其中裁剪后的缩略图不会显示在特色图像部分,而只显示全尺寸图像。
非常感谢。
SO网友:Travis Pflanz
我有一个解决方案给你。它并不完美,但我已经根据您的需要对其进行了测试,它会起作用的。Wordpress中有一些“bug”,但我稍后会讨论它们。
在您的功能中。php,定义图像大小:
// Add Thumbnail Support
if ( function_exists( \'add_theme_support\' ) ) {
add_theme_support( \'post-thumbnails\' );
set_post_thumbnail_size( 220, 220, true );
add_image_size( \'very-large\', 1024, 99999, false );
}
这只是您的大型图像的一个示例,以下是Wordpress Codex中的一些链接,以获取更多信息:
在主题中,使用
<img src="<?php $imgsrc = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'thumbnail\', false); echo $imgsrc[0]; ?>">
然后对于大图像,使用
<?php the_post_thumbnail( \'very-large\' ); ?>
- wp_get_attachment_image_src 获取“FeaturedImage”的源get_post_thumbnail_id 返回附加到帖子的缩略图的ID。“缩略图”是在Wordpress设置中设置的图像的“大小”。下一步,转到管理>>设置>>媒体>>缩略图大小。输入220宽度和170高度
选中“将缩略图裁剪为精确尺寸(通常缩略图是成比例的)”
这是一个明显的错误,我测试了200多种不同的方法,我设置了\\u post\\u thumbnail\\u大小(220,220,true);在函数中。但是也需要在Wordpress设置中以不同的方式设置维度,反之亦然
现在,在发布新帖子/编辑帖子屏幕中:
单击“设置特色图像”上传您的大图像,现在单击图像缩略图下方的“编辑图像”,在“图像裁剪”中单击并拖动要裁剪的图像选择,输入225作为宽度,输入171作为高度,例如:225:171在“缩略图设置”中,您必须选择“缩略图”,单击图像上方的裁剪图标现在在主图像屏幕上单击“保存”,在底部单击“用作特色图像”,这里有更明显的错误。
您不能简单地从输入选择维度开始,必须先拖动选择输入的选择必须大于WordPress缩略图的实际尺寸。无法输入缩略图的实际尺寸尽管我们所有的设置和功能都为缩略图设置了硬Cropf,Wordpress也不会总是精确地裁剪到220x170。通过反复试验,我发现225:171总是有效的我发现,如果选择的区域很大,并且高度或宽度都不相称,缩略图也不会显示为220x170。
我想你可以通过添加height="170px"
和width="220px"
在图像代码中。
我真的希望有比我更聪明的人来改进这个方法,但这是我玩了两天之后能想到的最好的方法。