A powerful and intuitive drag-and-drop sorting solution for Strapi v5 content types
released February 11, 2025
npm install @yunusemrejs/drag-drop-content-types-strapi5
A powerful and intuitive drag-and-drop sorting solution for Strapi v5 content types

Originally inspired by the Drag-Drop-Content-Type Strapi 4 plugin, this plugin has been completely rewritten using the modern dnd-kit library to ensure compatibility with React 18 and provide better performance.
# Using npm
npm install @yunusemrejs/drag-drop-content-types-strapi5
# Using yarn
yarn add @yunusemrejs/drag-drop-content-types-strapi5
# Using pnpm
pnpm add @yunusemrejs/drag-drop-content-types-strapi5Create or modify your config/plugins.ts file:
export default () => ({
'drag-drop-content-types-strapi5': {
enabled: true,
},
});npm run build
npm run developSettings → Drag Drop Content Type → ConfigurationRank Field Name (default: rank)Default sort attribute: Your rank fieldDefault sort order: ASCDisplay Settings
{
title: 'name', // Field to use as title
subtitle: 'description', // Optional: Field to show as subtitle
mainField: 'title' // Optional: Fallback field
}Webhook Integration Enable webhooks to trigger external systems when order changes
Grant appropriate permissions in Settings → Users & Permissions → Roles:
Fetch ordered content:
# Basic sorting
GET /api/{content-type}?sort=rank:asc
# With pagination
GET /api/{content-type}?sort=rank:asc&pagination[page]=1&pagination[pageSize]=25
# With relations
GET /api/{content-type}?sort=rank:asc&populate=*query {
contentType(sort: "rank:asc") {
data {
id
attributes {
title
rank
}
}
}
}MIT © Yunus Emre Kara
Share your work with the community and get it listed in the Strapi ecosystem for everyone to discover and use.
Submit
