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()
函数获得附件媒体时,请确认你的媒体确实有附在文章。
在管理界面,单击打开"媒体">"媒体库",确认媒体 "上载到 "一栏中的数值。