我在使用自定义rest_namespace
在register_post_type
上定义的CPT时遇到了一些问题。我一直在控制台上收到404错误。错误显示名称空间在自动保存路由中没有被更改。
WP默认命名空间:wp/v2
自定义命名空间定义:ek/v1
我深入研究了核心类,以了解Wordpress如何处理自定义命名空间。
WP_REST_Autosaves_Controler
在namespace
方法中使用get_post_type_object
定义__construct
:
...
$post_type_object = get_post_type_object( $parent_post_type );
....
$this->namespace = ! empty( $post_type_object->rest_namespace ) ? $post_type_object->rest_namespace : 'wp/v2';
...
如果我在ek/v1
上执行发现请求,我可以看到正确注册的端点:
"/ek/v1/releases/(?P[\\d]+)/autosaves/(?P[\\d]+)"
但是在控制台中会弹出这个错误:
GET http://localhost:8888/wp-json/wp/v2/releases/70/autosaves?context=edit&_locale=user 404 (Not Found)
那么,如果我这样做的话,为什么默认的命名空间仍然存在呢?会不会是wordpress的一些javascript函数在不正确的路径上执行请求?什么功能?怎么修呢?
发布于 2022-06-03 07:37:36
那么,如果我这样做的话,为什么默认的命名空间仍然存在呢?会不会是wordpress的一些javascript函数在不正确的路径上执行请求?什么功能?怎么修呢?
如果端点工作正常,那么您就正确地更改了它,但是如果您已经刷新了重写规则/permalinks,并且它仍然不起作用,那么您需要使用Gutenberg github或官方的WP Trac来引发一个bug。
请注意,这是假设您只试图更改单个自定义post类型的REST端点,并通过register_post_type
和WP5.9/6或更高版本的rest_namespace
参数进行更改。
否则,根据下面的代码,您已经发现了一个WordPress/Gutenberg错误,它可以检索autosaves:
https://wordpress.stackexchange.com/questions/406393
复制相似问题