2017-02-25 30 views
3

私はv2を初めて使用しています。私は長い間v1を使用しています。現在v2にアップグレードしています。すべての用語が特定のカスタム分類に属しています。 V1でwordpress rest api v2タクソノミーの用語をリストする方法は?

私は それはJSONエラー「コード」を返す /分類法/用語を試してみてくださいV2に用語 /分類法/ location_category /用語

が、取得するには、この操作を行うことができます。「rest_no_routeを」、「メッセージ」 : "URLとリクエストメソッドに一致するルートが見つかりませんでした"、 "データ":{"ステータス" :404}

もし/ taxonomies/location_category /それがタクソノミーに属していれば、私は数時間のためにGoogleで質問を検索

はどんな結果を示さなかった、誰もが助けてくださいすることができ、あなたのカスタム分類法、be sure that you're setting the 'show_in_rest' argument to be true (default is false) in your register_taxonomy() callについては

答えて

1

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; 
}); 

をのfunctions.phpので、用語= you_taxonomy URLにhttp://youdomain.com/wp-json/wp/v2/all-terms?term=you_taxonomy

を入力するようにブローコードを追加し、ここで

カスタムコードを記述するために出て終わり、用語はjob_categoryに属して取得します。

+0

show_in_rest入れませんでした。 –

2

に感謝します。

register_taxonomy()コールでも、 'rest_base'引数を設定できます(デフォルトでは、分類名は/location_category/です)。

+0

はい、私は、これは天才です –

関連する問題