获取 WP Rest 中的 MetaBox 值 API
Get MetaBox value inside WP Rest API
我有一个注册的元框:
$meta_boxes[] = [
'title' => esc_html__( 'Background', 'background' ),
'id' => 'background',
'context' => 'normal',
'post_types' => array('post', 'page'),
'fields' => [
[
'type' => 'image_advanced',
'name' => esc_html__( 'Background', 'background' ),
'id' => 'background',
'max_file_uploads' => 1,
],
],
];
我正在尝试像这样获取 MetaBox
值:
$query = new WP_Query( $args );
$page = $query->post; // there is a post
$meta = get_post_meta($page->ID, 'background', true); // $page->ID is integer
return [
'uri' => $uri,
'ID' => $page->ID,
'page' => $query->post,
'meta' => $meta
];
,但是 $meta
是一个类似于 2225
的整数。
post 已填充此元数据框。
如果我尝试使用标准 Rest API 端点,我得到的值是:
.... post data
"meta_box": {
"background": [
{
"width": 150,
"height": 150,
"file": "2020/10/163593234-e1603902300928.jpg",
........
我的问题是如何使用自定义端点通过 Rest API 获取 post MetaBox 值,因为 get_post_meta
、returns(我猜)有些关系?
您必须使用 wp_get_attachment_image_src:
$meta = get_post_meta( $page->ID, 'background', true ); // $page->ID is integer
if( $meta ) {
$img = wp_get_attachment_image_src( $meta );
}
您可以看到 wp_get_attachment_image_src
返回值 here。
我有一个注册的元框:
$meta_boxes[] = [
'title' => esc_html__( 'Background', 'background' ),
'id' => 'background',
'context' => 'normal',
'post_types' => array('post', 'page'),
'fields' => [
[
'type' => 'image_advanced',
'name' => esc_html__( 'Background', 'background' ),
'id' => 'background',
'max_file_uploads' => 1,
],
],
];
我正在尝试像这样获取 MetaBox
值:
$query = new WP_Query( $args );
$page = $query->post; // there is a post
$meta = get_post_meta($page->ID, 'background', true); // $page->ID is integer
return [
'uri' => $uri,
'ID' => $page->ID,
'page' => $query->post,
'meta' => $meta
];
,但是 $meta
是一个类似于 2225
的整数。
post 已填充此元数据框。
如果我尝试使用标准 Rest API 端点,我得到的值是:
.... post data
"meta_box": {
"background": [
{
"width": 150,
"height": 150,
"file": "2020/10/163593234-e1603902300928.jpg",
........
我的问题是如何使用自定义端点通过 Rest API 获取 post MetaBox 值,因为 get_post_meta
、returns(我猜)有些关系?
您必须使用 wp_get_attachment_image_src:
$meta = get_post_meta( $page->ID, 'background', true ); // $page->ID is integer
if( $meta ) {
$img = wp_get_attachment_image_src( $meta );
}
您可以看到 wp_get_attachment_image_src
返回值 here。