gpt4 book ai didi

wordpress - 通过 WP API v2 添加帖子元字段

转载 作者:行者123 更新时间:2023-12-02 22:37:32 24 4
gpt4 key购买 nike

我正在尝试使用 WP API v2 并插入来自 Postman 的帖子。

如果我发布这个原始请求,它会很好地创建一个帖子:

{
"title": "Test Title",
"content": "Test Content",
}

但是,我也尝试向其中添加一些自定义字段值,但我似乎无法让它们工作。此请求创建一个帖子,但不添加任何元字段:

{
"title": "Test Title",
"content": "Test Content",
"meta": {
"foo": "bar",
"foo2": "bar2"
}
}

如何通过 API POST 元字段 foofoo2 以及值 barbar2端点https://my-site.com/wp-json/wp/v2/posts

编辑:自定义字段似乎也不会在 GET 请求中本地获取。我将此代码放入 mu-plugin 中:

add_filter( 'rest_prepare_post', 'xhynk_api_post_meta', 10, 3 );
function xhynk_api_post_meta( $data, $post, $context ){
$meta = get_post_custom( $post->ID );

if( $meta ) {
$data->data['meta'] = $meta;
}

return $data;
}

这至少让我可以通过 GET 请求查看它。但是我似乎仍然无法通过 postman 将其发送到 POST。即使添加 "status": "publish" 也会导致新帖子发布,而不是像默认情况下那样成为草稿。我可以在 API POST 请求上使用任何 Hook 或过滤器来确保添加自定义字段吗?

最佳答案

要处理插入和更新时的元数据,您可以使用操作 rest_insert_ + post type

add_action("rest_insert_page", function (\WP_Post $post, $request, $creating) {


$metas = $request->get_param("meta");

if (is_array($metas)) {

foreach ($metas as $name => $value) {
update_post_meta($post->ID, $name, $value);
}

}


}, 10, 3);

关于wordpress - 通过 WP API v2 添加帖子元字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46940238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com