30 days free. No credit card. Full access from the moment you connect your site.

Start free trial

LearnDash Reorder Steps

learndash/reorder-steps sets the order of the steps directly under one parent: the lessons in a course, the topics in a lesson, or the quizzes under any of the three.

The list must be complete.

At a glance

Abilitylearndash/reorder-steps
ToolsetLearnDash — toolset/learndash
GroupLearnDash › Course Structure
RequiresAcrossAI Pro, plus LearnDash LMS active on the site
Capabilitymanage_options
SafetyWrites data
RepeatableIdempotent — running it twice leaves the same result
Ships inAcrossAI Pro 0.9.16 and later

Why a partial list is rejected

A partial list would require guessing where the omitted steps go — before, after, or in their existing relative positions — and every guess is wrong for some caller.

Guessing wrongly produces a course outline in an order nobody chose, which learners then move through. So it is refused instead.

That makes learndash/get-course-structure a required first call: the current IDs at that level are what the list has to contain.

One level at a time. Reordering the lessons in a course does not touch the topics inside them, and reordering the topics in a lesson is a separate call with that lesson as the parent.

Order matters more on LearnDash than on most content, because lesson progression is sequential by default — the order is the path through the course, not just a display preference.

Idempotent.

Input

NameTypeRequiredWhat it is
course_idintegerYesThe course.
parent_idintegerNoThe parent whose children to reorder. Omit for the course.
step_idsarrayYesThe complete list of that level’s children, in the order you want them.

What comes back

NameTypeWhat it is
orderarrayThe resulting order.
successbooleanWhether the call completed.
messagestringA one-line summary of what happened, suitable for showing a human.
error_codestringPresent 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:

Move the intro lesson to the top of the course.

It resolves to one call:

{
  "ability": "learndash/reorder-steps",
  "parameters": {
    "course_id": 412,
    "step_ids": [520, 521, 522]
  }
}

Worth knowing

  • A partial list is rejected rather than guessed at.
  • Read the current order first.
  • One level per call.
  • Order is the learner’s path, not a display preference.

Related abilities


Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager

Browse the rest: Every ability, by category


Keep reading