Woocommerce API 自定义分类的端点
Woocommerce API endpoint for custom taxonomy
我通过以下代码创建了自定义分类法:
add_action('init', 'vendor_taxonomy', 0);
function vendor_taxonomy(){
$labels = array(
'name' => 'Vendors',
'singular_name' => 'Vendor',
'menu_name' => 'Vendors',
'all_items' => 'All Vendors',
'parent_item' => 'Parent Vendor',
'parent_item_colon' => 'Parent Vendor:',
'new_item_name' => 'New Vendor Name',
'add_new_item' => 'Add New Vendor',
'edit_item' => 'Edit Vendor',
'update_item' => 'Update Vendor',
'separate_items_with_commas' => 'Separate Vendors with commas',
'search_items' => 'Search Vendors',
'add_or_remove_items' => 'Add or remove Vendors',
'choose_from_most_used' => 'Choose from the most used Vendors',
);
$capabilities = array(
'manage_terms' => 'manage_woocommerce',
'edit_terms' => 'manage_woocommerce',
'delete_terms' => 'manage_woocommerce',
'assign_terms' => 'manage_woocommerce',
);
$args = array(
'labels' => $labels,
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => true,
'show_in_rest' => true,
'query_var' => true,
'rest_base' => 'vendors',
'rest_controller_class' => 'WP_REST_Terms_Controller',
'capabilities' => $capabilities,
'rewrite' => array('slug' => 'vendors'),
);
register_taxonomy('vendors', 'product', $args);
register_taxonomy_for_object_type('vendors', 'product');
}
我想从 Woocommerce rest API 访问分类列表,但我总是得到 404
。
我尝试了以下端点:
- /wp-json/wc/v3/products/vendors/
- /wp-json/wc/v3/vendors/
哪个应该是正确的url
?
为了通过 API?
检索数据,我是否遗漏了分类法创建中的某些内容
您可以通过以下端点访问它:
/wp-json/wp/v2/{your custom taxonomy}
因此,对于您的“供应商”自定义分类法,它应该是这样的:
/wp-json/wp/v2/vendors
这将检索每个供应商的相关数据。
更多详情:
如果您需要检索与“您的自定义分类法”本身相关的数据,那么您可以使用以下端点:
/wp-json/wp/v2/taxonomies/{your custom taxonomy}
例如,对于您的“供应商”自定义分类,它将是这样的:
/wp-json/wp/v2/taxonomies/vendors
更多详情:
How to retrieve the related data on custom taxonomy itself
Docs
作为 POC:
我有两个名为“测试供应商 01”和“测试供应商 02”的供应商,我可以使用以下方式检索它们:
/wp-json/wp/v2/vendors
结果如下:
我通过以下代码创建了自定义分类法:
add_action('init', 'vendor_taxonomy', 0);
function vendor_taxonomy(){
$labels = array(
'name' => 'Vendors',
'singular_name' => 'Vendor',
'menu_name' => 'Vendors',
'all_items' => 'All Vendors',
'parent_item' => 'Parent Vendor',
'parent_item_colon' => 'Parent Vendor:',
'new_item_name' => 'New Vendor Name',
'add_new_item' => 'Add New Vendor',
'edit_item' => 'Edit Vendor',
'update_item' => 'Update Vendor',
'separate_items_with_commas' => 'Separate Vendors with commas',
'search_items' => 'Search Vendors',
'add_or_remove_items' => 'Add or remove Vendors',
'choose_from_most_used' => 'Choose from the most used Vendors',
);
$capabilities = array(
'manage_terms' => 'manage_woocommerce',
'edit_terms' => 'manage_woocommerce',
'delete_terms' => 'manage_woocommerce',
'assign_terms' => 'manage_woocommerce',
);
$args = array(
'labels' => $labels,
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => true,
'show_in_rest' => true,
'query_var' => true,
'rest_base' => 'vendors',
'rest_controller_class' => 'WP_REST_Terms_Controller',
'capabilities' => $capabilities,
'rewrite' => array('slug' => 'vendors'),
);
register_taxonomy('vendors', 'product', $args);
register_taxonomy_for_object_type('vendors', 'product');
}
我想从 Woocommerce rest API 访问分类列表,但我总是得到 404
。
我尝试了以下端点:
- /wp-json/wc/v3/products/vendors/
- /wp-json/wc/v3/vendors/
哪个应该是正确的url
?
为了通过 API?
您可以通过以下端点访问它:
/wp-json/wp/v2/{your custom taxonomy}
因此,对于您的“供应商”自定义分类法,它应该是这样的:
/wp-json/wp/v2/vendors
这将检索每个供应商的相关数据。
更多详情:
如果您需要检索与“您的自定义分类法”本身相关的数据,那么您可以使用以下端点:
/wp-json/wp/v2/taxonomies/{your custom taxonomy}
例如,对于您的“供应商”自定义分类,它将是这样的:
/wp-json/wp/v2/taxonomies/vendors
更多详情:
How to retrieve the related data on custom taxonomy itself
Docs
作为 POC:
我有两个名为“测试供应商 01”和“测试供应商 02”的供应商,我可以使用以下方式检索它们:
/wp-json/wp/v2/vendors
结果如下: