wp_get_attachment_id3_keys()
云策文档标注
概述
wp_get_attachment_id3_keys() 函数用于返回从附件存储的元数据中查找数据时使用的键值对。它根据上下文参数动态生成字段列表,并可通过过滤器进行自定义。
关键要点
- 函数返回一个数组,包含字段键到标签的映射,用于附件元数据查询。
- 接受两个参数:$attachment(WP_Post 对象,必需)和 $context(字符串,可选,默认为 'display')。
- 上下文参数影响返回的字段:'display' 上下文包括 artist、album、genre、year 和 length_formatted;'js' 上下文包括 artist、album、bitrate 和 bitrate_mode。
- 提供过滤器 wp_get_attachment_id3_keys,允许开发者修改返回的字段列表。
- 函数自 WordPress 3.9.0 版本引入,常用于编辑附件、AJAX 操作和媒体显示等场景。
代码示例
function wp_get_attachment_id3_keys( $attachment, $context = 'display' ) {
$fields = array(
'artist' => __( 'Artist' ),
'album' => __( 'Album' ),
);
if ( 'display' === $context ) {
$fields['genre'] = __( 'Genre' );
$fields['year'] = __( 'Year' );
$fields['length_formatted'] = _x( 'Length', 'video or audio' );
} elseif ( 'js' === $context ) {
$fields['bitrate'] = __( 'Bitrate' );
$fields['bitrate_mode'] = __( 'Bitrate Mode' );
}
return apply_filters( 'wp_get_attachment_id3_keys', $fields, $attachment, $context );
}注意事项
- 函数依赖于 WordPress 的翻译函数 __() 和 _x() 来提供本地化标签。
- 过滤器 wp_get_attachment_id3_keys 允许在运行时调整字段,增强灵活性。
- 在 'js' 上下文中返回的字段适用于 JavaScript 环境,如 wp_prepare_attachment_for_js() 函数。
原文内容
Returns useful keys to use to lookup data from an attachment’s stored metadata.
Parameters
$attachmentWP_Postrequired-
The current attachment, provided for context.
$contextstringoptional-
The context. Accepts
'edit','display'. Default'display'.
Source
function wp_get_attachment_id3_keys( $attachment, $context = 'display' ) {
$fields = array(
'artist' => __( 'Artist' ),
'album' => __( 'Album' ),
);
if ( 'display' === $context ) {
$fields['genre'] = __( 'Genre' );
$fields['year'] = __( 'Year' );
$fields['length_formatted'] = _x( 'Length', 'video or audio' );
} elseif ( 'js' === $context ) {
$fields['bitrate'] = __( 'Bitrate' );
$fields['bitrate_mode'] = __( 'Bitrate Mode' );
}
/**
* Filters the editable list of keys to look up data from an attachment's metadata.
*
* @since 3.9.0
*
* @param array $fields Key/value pairs of field keys to labels.
* @param WP_Post $attachment Attachment object.
* @param string $context The context. Accepts 'edit', 'display'. Default 'display'.
*/
return apply_filters( 'wp_get_attachment_id3_keys', $fields, $attachment, $context );
}
Hooks
- apply_filters( ‘wp_get_attachment_id3_keys’, array $fields, WP_Post $attachment, string $context )
-
Filters the editable list of keys to look up data from an attachment’s metadata.
Changelog
| Version | Description |
|---|---|
| 3.9.0 | Introduced. |