我正在尝试在wp-json/wp/v2/search 获取端点,但此端点似乎没有考虑register_rest_field 方法
add_action(\'rest_api_init\', function() {
register_rest_field(\'post\', \'excerpt\', array(
\'get_callback\' => function ($post_arr) {
die(var_dump($post_arr));
return $post_arr[\'excerpt\'];
},
));
register_rest_field(\'page\', \'excerpt\', array(
\'get_callback\' => function ($post_arr) {
die(var_dump($post_arr));
return $post_arr[\'excerpt\'];
},
));
});
这导致
wp-json/wp/v2/pages 和
wp-json/wp/v2/posts 去死,但是
wp-json/wp/v2/search 虽然它可以呈现帖子和页面,但效果很好。
你知道我如何将我的摘录添加到wp-json/wp/v2/search 路线
最合适的回答,由SO网友:Sally CJ 整理而成
对于搜索端点,对象类型(的第一个参数register_rest_field()) 是search-result 而不是岗位类型(例如。post, page, 等等)。
所以试试这个,对我来说很有用:
add_action( \'rest_api_init\', function () {
// Registers a REST field for the /wp/v2/search endpoint.
register_rest_field( \'search-result\', \'excerpt\', array(
\'get_callback\' => function ( $post_arr ) {
return $post_arr[\'excerpt\'];
},
) );
} );
SO网友:Ian Dunn
仅嵌入具有embed 上下文您可以使用"rest_{$post_type}_item_schema" 滤器
--https://core.trac.wordpress.org/ticket/51596
这里有一个例子。注意,父字段content 需要为子字段添加上下文,如content.rendered 出现。
add_filter( \'rest_\' . POST_TYPE . \'_item_schema\', function( $schema ) {
$schema[\'properties\'][\'content\'][\'context\'][] = \'embed\';
$schema[\'properties\'][\'content\'][\'properties\'][\'rendered\'][\'context\'][] = \'embed\';
return $schema;
} );
这感觉有点不一样。”;“正确”;对我来说
register_rest_field().