图片
本节介绍媒体库中图片的处理方法。如果您想在主题目录内显示图像文件,只需使用 img 标签指定位置,并使用 CSS 进行样式设置。<img alt="" src="" />
获取 img 代码
要在媒体库中显示图片,请使用 wp_get_attachment_image() 函数。
echo wp_get_attachment_image( $attachment->ID, 'thumbnail' );您将获得以下 HTML 输出,包含所选缩略图尺寸
<img width="150" height="150" src="http://example.com/wordpress/wp-content/uploads/2016/11/sample-150x150.jpg" class="attachment-thumbnail size-thumbnail" ... />您可以指定其他尺寸,例如原始图像的 'full' 或“设置 > 媒体”中设置的'medium'和'large'尺寸的 管理屏幕中的任何宽度和高度对。您也可以使用 add_image_size() 自由设置自定义尺寸字符串;
echo wp_get_attachment_image( $attachment->ID, array(640, 480) );获取图片 URL
如果您想获取图片的 URL,请使用 wp_get_attachment_image_src()。如果不可用,它返回一个数组(URL、宽度、高度、is_intermediate),或 false。
<?php
$image_attributes = wp_get_attachment_image_src( $attachment->ID );
if ( $image_attributes ) : ?>
<img src="<?php echo $image_attributes[0]; ?>" width="<?php echo $image_attributes[1]; ?>" height="<?php echo $image_attributes[2]; ?>" />
<?php endif; ?>对齐方式
在您的站点中添加图片时,您可以指定图片的对齐方式为右、左、居中或无。WordPress 核心会自动添加 CSS 类以对齐图片:
- alignright
- alignleft
- aligncenter
- alignnone
这是选择居中对齐时的示例输出
<img class="aligncenter size-full wp-image-131" src= ... />为了利用这些 CSS 类进行对齐和文本换行,您的主题必须在样式表中包含样式,例如 主样式表文件。您可以使用官方主题(如 Twenty Seventeen)附带的style.css作为参考。
说明文字
如果在媒体库中为图片指定了说明文字,HTML img 元素将被 [caption]和 [/caption]短代码包围。
<div class="mceTemp">
<dl id="attachment_133" class="wp-caption aligncenter" style="width: 1210px">
<dt class="wp-caption-dt">
<img class="size-full wp-image-133" src="http://example.com/wordpress/wp-content/uploads/2016/11/sample.jpg" alt="sun set" width="1200" height="400" />
</dt>
<dd class="wp-caption-dd">Sun set over the sea</dd>
</dl>
</div>并且,它将作为 HTML 中的 figure 标签进行渲染:
<figure id="attachment_133" style="width: 1200px" class="wp-caption aligncenter">
<img class="size-full wp-image-133" src="http://example.com/wordpress/wp-content/uploads/2016/11/sample.jpg" alt="sun set" width="1200" height="400" srcset= ... />
<figcaption class="wp-caption-text">Sun set over the sea</figcaption>
</figure>与对齐方式类似,您的主题必须包含以下样式。
wp-captionwp-caption-text
WebP 支持和子尺寸图像输出的默认 MIME 类型
WordPress 5.8引入了对 WebP图像格式的支持,该格式可为网络上的图片提供更好的无损和有损压缩。与 JPEG 或 PNG 等效文件相比,WebP 图像平均小约 30%,从而产生速度更快且使用更少带宽的站点。根据 caniuse,所有现代浏览器都支持 WebP。
上传图片时,WordPress 会根据add_image_size()定义生成较小的子尺寸。默认情况下,WordPress 将使用与原始文件相同的格式生成这些子尺寸。由于 WebP 格式的性能优势,可能希望以 WebP 而不是原始格式生成子尺寸。
可以使用 image_editor_output_format过滤器钩子来更改用于图像子尺寸的文件格式。这可用于将所有子尺寸切换为 WebP 或任何其他所需格式(JPEG 等)。
以下示例展示了如何使用 WebP 生成所有 JPG 图像的次级大小:
<?php
function wporg_image_editor_output_format( $formats ) {
$formats['image/jpg'] = 'image/webp';
return $formats;
}
add_filter( 'image_editor_output_format', 'wporg_image_editor_output_format' );注意:GD 和 ImageMagick 库均支持 WebP 格式的有损和无损模式。但是,只有 ImageMagick 支持动画图像。
将输出格式设置为 WebP 将验证网络服务器是否支持它,如果不支持则不会更改格式,即不起作用。