我是 v2 的新手,我使用 v1 很长时间,目前升级到 v2,我尝试获取属于特定自定义分类法的所有术语。
在 v1 中我可以这样做来获取条款 /taxonomies/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 的术语。
关于wordpress rest api v2 如何列出分类术语?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42462187/