wordpress - Wordpress Rest Api,帖子类型已创建但未显示在帖子中
问题描述
我创建了一个名为 properties 的自定义帖子类型,其键为“estate_property”我想使用 wordpress 的 Rest API 为这个帖子类型创建属性,因为我已经使用它注册了一个新路由。
function register_property_post_rest_api() {
register_rest_route( 'api', '/property', array(
array(
'methods' => WP_REST_Server::CREATABLE,
'callback' => 'api_create_property_post',
),
));
}
add_action('rest_api_init', 'register_property_post_rest_api');
我正在用这个创建属性
function api_create_property_post( $request ) {
$user = wp_get_current_user();
$user_id = $user->ID;
if ( $user_id > 0 ) {
// Create Post
$response = array(
'post_author' => $user_id,
'post_type' => 'estate_property',
'post_title' => 'Property API',
'post_content' => 'Property Content',
'post_status' => 'publish',
);
// Insert Post
$property_id = wp_insert_post( $response );
// Response Property ID
$response['id'] = $property_id;
} else {
// Unauthentication error
$response = new WP_Error( 'Incorrect Permissions', 'Authorization Token is missing', array(
'status' => 401
)
);
}
return rest_ensure_response( $response );
}
应该注意的是,在编辑器中,该属性显示为已发布并发布,但它仍然没有出现在所有出版物中,因此只能使用 id 输入,或者如果 url 先前已知,如果我输入并更新属性wordpress 编辑器然后它已经出现在所有出版物和搜索中。
我用 Wordpress 的“帖子”试过这个,但没有发生。
我不确定为什么会这样。
这是我的要求
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer token-here");
var requestOptions = {
method: 'POST',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://mi-domain.com/wp-json/api/property", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
我使用的任何类型的状态都会发生这种情况,我想我需要一些东西,但我不确定它是什么,有谁知道我该如何解决这个问题?
提前感谢您的回答。
解决方案
推荐阅读
- apache-kafka - 在窗口化的 Kafka Streams 应用程序中进行缓冲
- ruby-on-rails - Ruby on Rails Mailer 中的操作视图错误
- llvm - 访问 LLVM 中的调试信息
- amazon-web-services - 安排 AWS ECS Fargate 启动和停止任务
- angular - Ionic 4在模态中预选一个选项卡
- java - Mockito @Mock 未使用构造函数注入正确注入命名模拟
- firebase - 是否可以从服务器端更新 Firebase 用户属性?
- python-3.x - Python 3 类和子类:创建三角形和正方形
- macros - 带有两个参数的宏 SAS 9.4
- c++ - 如何在 GPU 上复制 OpenACC 中分配的向量指针内存向量