媒体

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),不仅仅是图片或视频,还有文本文件、office文件甚至二进制文件。单个站点管理员默认不具备unfiltered_upload的能力,需要设置该定义才能启动该能力。音频和视频文件由内部库MediaElement.js处理。

 

故障排查

 

无法检索附件

当你无法通过get_posts()get_children()函数获得附件媒体时,请确认你的媒体确实有附在文章。
在管理界面,单击打开"媒体">"媒体库",确认媒体 "上载到 "一栏中的数值。