WordPress 允许主题开发者自定义平台核心媒体功能的样式、感觉和功能。

通用

在 WordPress 中,您可以上传、存储和显示各种类型的媒体文件,例如图像、视频和音频文件。您可以通过 媒体 > 添加新内容(位于管理界面)或文章/页面编辑器中的“添加媒体”按钮来上传媒体。

如果在编辑屏幕中上传了媒体文件,它会自动附加到当前正在创建或编辑的文章。如果通过媒体的“添加新内容”屏幕或媒体库屏幕进行上传,它将处于未附加状态,但在稍后将其插入文章时可能会附加到该文章上。

获取附件 ID 或图像 ID

要检索附件 ID,请使用 get_posts() 或 get_children() 函数。此示例通过指定 ID 获取当前文章的所有附件以及所有元数据。

// Insert into the Loop
$args = array(
   'post_parent'    => get_the_ID(),
   'post_type'      => 'attachment',
);
$attachments = get_posts( $args );
if ( $attachments ) {
   foreach ( $attachments as $attachment ) {
       $meta_data = wp_get_attachment_metadata( $attachment->ID, false );
   }
}

如果只想从文章 ID 检索图像,请将 post_mime_type 指定为 image。

$args = array(
   'post_parent'    => get_the_ID(),
   'post_type'      => 'attachment',
   'post_mime_type' => 'image',
);

参考

特殊注意事项

兼容的媒体格式

在媒体库中,您可以上传任何文件(需网络管理员启用 unfiltered_upload),而不仅仅是图像或视频,还可以是文本文件、办公文档甚至二进制文件。单站点管理员默认不具备 unfiltered_upload 能力,需要设置该定义以激活此功能。音频和视频文件由内部库 MediaElement.js 处理。

故障排除:

无法检索附件

当您无法通过 get_posts() 或 get_children() 函数获取已附加的媒体时,请确认您的媒体确实已附加到文章。
从管理界面中,点击媒体 > 库打开媒体库,并确认媒体“上传至”列中的值。