badges/shields · info · NotFound
not set for this ${extensionType}
Error message
not set for this ${extensionType} What it means
The WordPress 'requires at least' (platform) service throws NotFound with message 'not set for this <extensionType>' when the plugin/theme metadata returns requires: false, meaning the author has not declared a minimum WordPress version. This is a legitimate 'not set' state, not a missing resource.
Source
Thrown at services/wordpress/wordpress-platform.service.js:55
parameters: pathParams({
name: 'slug',
example: exampleSlug,
}),
},
}
return route
}
static defaultBadgeData = { label: 'wordpress' }
async handle({ slug }) {
const { requires: wordpressVersion } = await this.fetch({
extensionType,
slug,
})
if (wordpressVersion === false) {
throw new NotFound({
prettyMessage: `not set for this ${extensionType}`,
})
}
return renderVersionBadge({ version: wordpressVersion })
}
}
}
class WordpressPluginTestedVersion extends BaseWordpress {
static category = 'platform-support'
static route = {
base: 'wordpress/plugin/tested',
pattern: ':slug',
}
static openApi = {View on GitHub (pinned to 766fd8bc89)
Solutions
- Verify on wordpress.org whether the plugin lists a 'Requires at least' version; if not, the author must set it
- Ask the plugin author to add the 'Requires at least' header to readme.txt
- Use a generic version badge or remove the badge if the metadata cannot be fixed
- Check you are using the right slug and extensionType in the badge URL
Defensive patterns
Strategy: type-guard
Validate before calling
const meta = await fetch(`https://api.wordpress.org/plugins/info/1.0/${slug}.json`).then(r => r.json())
if (!meta || !meta.requires) console.warn('plugin does not declare a minimum WordPress version'); Type guard
function hasRequires(meta) { return typeof meta?.requires === 'string' && meta.requires.length > 0 } Try / catch
try {
const badge = await wpPlatform.handle({ extensionType, slug })
} catch (e) {
if (e.message.endsWith('not set for this plugin')) {
// show 'wordpress | N/A' instead of a version
} else throw e
} Prevention
- Check the plugin's wordpress.org page for a 'Requires at least' value before adding the badge
- Ask authors to include the header in readme.txt
- Have a fallback badge ready for plugins with incomplete metadata
When it happens
Trigger: The queried plugin/theme exists on wordpress.org but its readme/metadata omits the 'Requires at least' header, so requires === false.
Common situations: Minimal or poorly-maintained plugins that skip the 'Requires at least' header in readme.txt, custom/self-hosted plugins never published with full metadata.
Related errors
AI-assisted analysis of badges/shields@766fd8bc89 (2026-08-30).
Data as JSON: /api/errors/0c5a43f7916093b2.
Report an issue: GitHub.