WordPress中文开发手册

WordPress主题开发 — 媒体

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指定为图像。

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

参考文献

  • get_posts()
  • get_children()
  • wp_get_attachment_metadata()

兼容的媒体格式

在媒体库中,您可以上传任何文件(网络管理员的未过滤的上传文件),而不仅仅是图像或视频文件,文件文件,甚至二进制文件。 默认情况下,单站点管理员不具备unfiltered_upload功能,并且需要设置该定义才能启动该功能。音频和视频文件由内部库MediaElement.js处理。

  • 支持的音频格式
  • 支持视频格式

无法检索附件

当您无法通过get_posts()或get_children()函数获取附加的媒体时,请确认您的媒体真正附加到该帖子。
从管理屏幕中,单击媒体>库以打开媒体库,并确认媒体“已上传到”列中的值。

Articles