wordpress rest api v2 如何列出分类术语?

2023-12-26

我是 v2 的新手,我使用 v1 很长时间,目前升级到 v2,我尝试获取属于特定自定义分类法的所有术语。

在 v1 中我可以这样做来获取条款 /分类法/location_category/terms

但在 v2 中我尝试 /分类法/术语 它返回 json 错误 "code":"rest_no_route","message":"未找到与 URL 和请求方法匹配的路由","data":{"status" :404}}

如果只是 /taxonomies/location_category/ 它没有显示任何属于分类法的术语。

我在谷歌上搜索了几个小时没有显示任何结果,任何人都可以帮忙,谢谢


最后在这里编写自定义代码

将打击代码添加到functions.php

  class all_terms
{
    public function __construct()
    {
        $version = '2';
        $namespace = 'wp/v' . $version;
        $base = 'all-terms';
        register_rest_route($namespace, '/' . $base, array(
            'methods' => 'GET',
            'callback' => array($this, 'get_all_terms'),
        ));
    }

    public function get_all_terms($object)
    {
        $return = array();
        // $return['categories'] = get_terms('category');
 //        $return['tags'] = get_terms('post_tag');
        // Get taxonomies
        $args = array(
            'public' => true,
            '_builtin' => false
        );
        $output = 'names'; // or objects
        $operator = 'and'; // 'and' or 'or'
        $taxonomies = get_taxonomies($args, $output, $operator);
        foreach ($taxonomies as $key => $taxonomy_name) {
            if($taxonomy_name = $_GET['term']){
            $return = get_terms($taxonomy_name);
        }
        }
        return new WP_REST_Response($return, 200);
    }
}

add_action('rest_api_init', function () {
    $all_terms = new all_terms;
});

并输入网址http://youdomain.com/wp-json/wp/v2/all-terms?term=you_taxonomy

所以 term = you_taxonomy,将得到属于 job_category 的术语。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

wordpress rest api v2 如何列出分类术语? 的相关文章

随机推荐