📅  最后修改于: 2023-12-03 15:29:17.181000             🧑  作者: Mango
Advanced Custom Fields(ACF)是一款广受欢迎的 WordPress 插件,可帮助网站管理员在文章、页面和自定义类型的 WordPress 后台,轻松地添加自定义字段。其中一个常见的用例是添加一个添加/选择媒体字段类型,以使管理员可以轻松地与文章或页面相关的图片进行管理。
然而,问题是管理员通常只知道其媒体 ID,而不知道其 URL,这时如何在主题或插件中使用这个 ID 来显示图像呢?本文介绍如何使用 ACF 插件,在 WordPress 中使用 ID 而不是 URL 显示图像。
在介绍实现的过程之前,我们先来看一下使用 ACF 插件创建添加/选择媒体字段类型的步骤。
现在,在文章或页面编辑页面上,您将看到您刚刚添加的媒体字段,管理员可以通过选择媒体库中的图像将其添加到文章或页面中。
为了在您的主题或插件中使用 ID 而不是 URL 来显示图像,您需要做以下几个步骤:
wp_get_attachment_image()
将其转换为图像标记。以下是一个完整的示例代码,可以将其添加到您当前正在开发中的主题或插件中。请将此代码片段保存为 PHP 文件,并将其添加到您的主题或插件文件夹中。请记住,代码可能需要根据您的字段名称和 ID 存储位置进行自定义。
<?php
// 获取媒体 ID 存储在文章/页面中
$image_id = get_post_meta( get_the_ID(), 'your_image_field_name', true );
// 检查是否存在 ID,如果没有则输出默认图像
if ( ! $image_id ) {
echo '<img src="' . esc_url( get_stylesheet_directory_uri() ) . '/default-image.jpg" />';
} else {
// 将 ID 转换为图像标记
echo wp_get_attachment_image( $image_id, 'full' );
}
?>
在上面的代码中,我们使用 wp_get_attachment_image()
函数将 ID 转换为图像标记,并为图像大小指定“full”。您可以使用不同的图像大小,具体取决于您的需要。
总之,ACF 插件可以大大简化管理网站中的自定义字段并与媒体项进行交互,而使用 ID 而不是 URL 显示图像仍然很容易,并且可以轻松地将其添加到您的 WordPress 主题或插件中。