我会得到 403 rest_forbidden 访问 WP API taxonomies/name-of-taxonomy 的原因?

Reason I would get 403 rest_forbidden accessing WP API taxonomies/name-of-taxonomy?

我正在尝试使用 WordPress REST API 获取分类列表。点击 /wp-json/wp/v2/taxonomies/post_tag 工作正常,但我还有一个名为位置的自定义分类法并访问 /wp-json/wp/v2/taxonomies/location returns 403 rest_forbidden 错误。

我不知道在什么情况下会以这种方式禁止分类法 REST 访问。有什么想法吗?

您需要在注册分类法时将 show_in_rest 设置为 true。

https://codex.wordpress.org/Function_Reference/register_taxonomy

如果您的自定义分类法是由插件创建的并且您需要更改它的行为,请尝试此 post :

http://scottbolinger.com/custom-taxonomies-in-the-wp-api/

简而言之,您可以将以下代码添加到您的函数文件中,以便为所有自定义分类启用 show_in_rest

function prefix_add_taxonimies_to_api() {
    $args = array(
        'public'   => true,
        '_builtin' => false
    ); 
    $taxonomies = get_taxonomies($args, 'objects');
    foreach($taxonomies as $taxonomy) {
        $taxonomy->show_in_rest = true;
    }
}
add_action('init', 'prefix_add_taxonimies_to_api', 30);

希望对您有所帮助。