Product Categories Endpoints
Extends WooCommerce Product Categories to only return categories associated with appointable products.
Endpoints
List Product Categories
GET /wc-appointments/v1/products/categories
Get a collection of product categories that have at least one associated appointable product.
Permissions: Public read for published categories.
Behavior:
- Query filter (
terms_clauses) joins withterm_relationships,term_taxonomy,terms, andpoststables - Restricts categories to only those with published appointment products
- All standard WooCommerce Product Categories fields are included
Response Fields:
Standard WooCommerce Product Categories fields:
id(int)name(string)slug(string)parent(int)description(string)display(string)image(object|null)menu_order(int)count(int)
Example Request:
GET /wp-json/wc-appointments/v1/products/categories
Example Response:
[
{
"id": 10,
"name": "Hair Services",
"slug": "hair-services",
"parent": 0,
"description": "All hair-related appointment services",
"display": "default",
"image": null,
"menu_order": 0,
"count": 5
}
]
Get Single Product Category
GET /wc-appointments/v1/products/categories/{id}
Get a single product category by ID.
Permissions: Public read for published categories.
Behavior:
- Validates the category has at least one associated appointment product before returning
- Returns 404 if category has no appointment products
Response: Same fields as list endpoint, single object.
Use Cases
- Category Filtering - Filter appointment products by category
- Navigation - Build category-based navigation for appointment products
- Product Discovery - Help users find appointment products by category
Related Documentation
- WooCommerce REST API Product Categories - Base category fields
- Products Endpoints - Appointable products
- Slots Endpoints - Get slots filtered by category