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() 函数获取已附加的媒体时,请确认您的媒体确实已附加到文章。
从管理界面中,点击媒体 > 库打开媒体库,并确认媒体“上传至”列中的值。