2017-02-25 32 views
3

我是v2的新手,我长时间使用v1,目前升级到v2,我尝试获取属于特定定制分类的所有术语。wordpress rest api v2如何列出分类术语?

在V1我可以做到这一点得到条款 /分类/ location_category /而言

但在V2我尝试 /分类/而言 它返回JSON错误 “代码”: “rest_no_route”, “消息” :“没有找到匹配URL和请求方法的路由”,“data”:{“status” :404}}

如果/ taxonomy/location_category /它没有显示任何属于分类的术语。

我在谷歌搜索的问题了几个小时没有表现出任何结果,任何人都可以帮助请,谢谢

回答

1

末开始写这里的自定义代码

附加打击代码添加到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

所以长期= you_taxonomy,将得到条款属于job_category。

+0

这是天才。 –