Wordpress 如何在wp-media-js中获取自定义post-meta
我有一个自定义的帖子类型,在管理员编辑帖子屏幕上,我使用wp.media将曲目附加到帖子上。我还在这首歌上贴了一些贴子。Wordpress 如何在wp-media-js中获取自定义post-meta,wordpress,Wordpress,我有一个自定义的帖子类型,在管理员编辑帖子屏幕上,我使用wp.media将曲目附加到帖子上。我还在这首歌上贴了一些贴子。 有没有简单的方法强制wp.media JS返回元数据跟踪 trackMediaUploader = wp.media.frames.file_frame = wp.media( { ... } ); trackMediaUploader.on( 'select', () => { const attachment = trackMediaUploader.stat
有没有简单的方法强制wp.media JS返回元数据跟踪
trackMediaUploader = wp.media.frames.file_frame = wp.media( { ... } );
trackMediaUploader.on( 'select', () => {
const attachment = trackMediaUploader.state().get( 'selection' ).first().toJSON();
// want to get post meta of this attachment
console.log( attachment );
});
我曾尝试使用wp\u get\u attachment\u metadata
过滤器,但它不适用于wp.media js:
function add_attachment_metadata( $data, $id ) {
$lyrics = get_post_meta( $id, '_track_lyrics', true );
if( $lyrics ) {
$data[ 'track-lyrics' ] = $lyrics;
}
return $data;
}
您可以使用钩子:
您可以使用钩子:
add_filter( 'wp_prepare_attachment_for_js', 'prepare_attachment_for_js', 10, 3 );
function prepare_attachment_for_js( $response, $attachment, $meta ) {
$response[ 'trackLyrics' ] = get_post_meta( $attachment->ID, '_track_lyrics', true );
return $response;
}
// in admin js:
trackMediaUploader = wp.media.frames.file_frame = wp.media( { ... } );
trackMediaUploader.on( 'select', () => {
const attachment = trackMediaUploader.state().get( 'selection' ).first().toJSON();
console.log( attachment.trackLyrics );
});