learndash/list-course-products lists WooCommerce products that grant access to LearnDash courses or groups, with what each one grants.
Requires both WooCommerce and the LearnDash WooCommerce Integration add-on.
At a glance
| Ability | learndash/list-course-products |
| Toolset | LearnDash — toolset/learndash |
| Group | LearnDash › Integrations & Add-ons |
| Requires | AcrossAI Pro, plus LearnDash LMS active on the site |
| Capability | manage_options |
| Safety | Read-only — changes nothing |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Pro 0.9.16 and later |
How it works
Products reported with grants_nothing=true are purchasable and linked to no course or group. That is the usual cause of a learner who has paid and has no access — the purchase succeeded and granted nothing.
It happens because the link between a product and its courses is a separate configuration from the product itself, and a product duplicated or created without it looks complete in WooCommerce.
Nothing in WooCommerce flags it, and nothing in LearnDash does either. The customer finds out.
Pass course_id to find which products sell one specific course, which is how you check a course is actually purchasable before promoting it.
A course with no products and a paid access mode is the mirror-image problem: purchasable in principle and available through no product.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
course_id | integer | No | Find the products selling this course. |
per_page | integer | No | Rows per page. |
What comes back
| Name | Type | What it is |
|---|---|---|
products | array | Each product with what it grants and a grants_nothing flag. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation. |
Example
Ask your assistant:
Which products sell this course?
It resolves to one call:
{
"ability": "learndash/list-course-products",
"parameters": {
"course_id": 412
}
}Worth knowing
grants_nothingis why a paying customer has no access.- Nothing in WooCommerce or LearnDash flags that state.
- A paid course with no products is the mirror-image problem.
- Needs WooCommerce and the integration add-on.
Related abilities
- LearnDash Manage Product Courses — fix the link
- LearnDash Enroll User — grant access to an affected customer
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category