上个月,着名的图像大小调整脚本TimThumb发现了一个巨大的漏洞。从那时起,社区就已经合作并解决了这些问题。虽然TimThumb是一个可行的选择,但我们认为WordPress主题开发人员应该专注于使用核心功能而不是依赖第三方脚本。在本文中,我们将向您展示如何在WordPress添加其他图像大小

WordPress有一个内置功能Post Thumbnails aka Featured Images。还有一个内置函数add_image_size(),它允许您指定图像大小并为您提供裁剪选项。在大多数情况下,在主题中使用这些核心功能基本上可以消除像TimThumb这样的第三方脚本的需要。

为您的主题注册其他图像大小

您需要首先添加通过在主题的functions.php文件中放置以下代码来支持帖子缩略图

add_theme_support( "post-thumbnails" );

启用后缩略图支持后,您现在可以使用add_image_size()函数注册其他图像大小的功能。add_image_size函数的用法如下:add_image_size(’name-of-size’,width,height,crop mode);

示例代码如下所示:

add_image_size( "sidebar-thumb", 120, 120, true ); // Hard Crop Mode
add_image_size( "homepage-thumb", 220, 180 ); // Soft Crop Mode
add_image_size( "singlepost-thumb", 590, 9999 ); // Unlimited Height Mode

现在,如果你注意到,我们指定了三种不同的图像尺寸。每个都有不同的模式,如硬作物,柔和的作物和无限的高度。因此,让我们介绍每个示例以及如何使用它们来实现您的利益。

裁剪模式 – 正如您所注意到的,在高度之后添加了一个值“true”。真正的价值在于告诉WordPress图像裁剪为我们定义的尺寸(在本例中为120 x 120px)。这是我们在主题设计中大量使用的方法,以确保一切都是成比例的,我们的设计不会破坏。此功能将根据尺寸自动从侧面或从顶部和底部裁剪图像硬裁剪的缺点是您无法控制图像的哪个部分显示

Mike Little的更正 – 当您上传图像时,在插入帖子之前,您可以单击“编辑图像”,然后从中更改缩略图或整个图像,缩放,旋转或翻转图像,并为缩略图选择所需图像的确切部分。

Soft Crop Mode – 默认情况下启用软裁剪模式,这就是为什么在高度后没有看到任何其他附加值的原因。此方法按比例调整图像大小而不会使图像失真。所以你可能得不到你想要的尺寸。通常它与宽度尺寸匹配,并且高度根据每个图像的比例而不同。示例显示如下所示:

Soft Crop Example

无限高度模式– 有时您想要在设计中使用超长图像,但是您希望确保宽度有限。我们发现这种图像大小的主要用途是信息图表帖子。信息图表往往很长并且充满了信息。在单个帖子页面上硬拷贝这样的图像并不是一个好主意。但本质上信息图表比内容宽度更宽。所以你可以做的是指定一个不会破坏你的设计的宽度,同时保持高度不受限制,所以所有的信息图都可以显示没有任何失真。示例显示如下所示:

Unlimited Height Mode Example

WordPress主题中显示其他图像大小

现在您已经添加了所需图像大小的功能,让我们看一下在WordPress中显示它们主题。打开要显示图像的主题文件并粘贴以下代码:

<?php the_post_thumbnail( "your-specified-image-size" ); ?>

注意:必须将此位代码粘贴到post循环中。

这就是您在WordPress主题中显示其他图像大小所需要做的全部工作。您可能应该使用符合您需要的样式来包装它。

重新生成其他图像大小

如果您不是在一个全新的网站上执行此操作,那么您可能需要重新生成缩略图add_image_size()函数的工作方式是它只从它添加主题中的点生成大小。因此,在包含此函数之前添加的任何后期图像都不会具有新大小。所以我们需要做的是为旧的后期图像重新生成新的图像大小。通过名为Regenerate Thumbnails的插件可以轻松实现这一点。安装并激活此插件后,菜单下会添加一个新选项:工具»Regen。缩略图

Regenerate Thumbnail Plugin Screen

单击“重新生成缩略图”图标并让插件完成其工作。

可以执行此任务的另一个插件是简单图像大小。

为您的帖子启用其他图像大小内容

即使您已在主题中启用了图像尺寸,但使用仅限于您没有任何意义的主题。无论如何都会生成所有图像大小,因此为什么不让帖子作者在帖子内容中使用它。您可以使用名为Simple Image Sizes的插件来执行此操作。

安装并激活此插件后,您的设置»媒体页面上将添加新选项。您将看到在主题中定义的尺寸列表。您所要做的就是选中“在插入后显示”框。

Post Insertion for Additional Image Sizes

选中此框后,您的作者可以使用其他尺寸在帖子内容中使用。

Additional Image Sizes for Posts

请注意,在上图中,我们拥有在主题中定义的所有图像大小,供作者在帖子内容中使用。

Simple Image Sizes插件还允许您创建自定义图像大小直接来自WordPress仪表板。

我们认为应该在所有WordPress主题开发人员的最佳实践中添加此方法。你的想法是什么?

评论被关闭。