{"record":{"id":"0c5a43f7916093b2","repo":"badges/shields","slug":"not-set-for-this-extensiontype","errorCode":null,"errorMessage":"not set for this ${extensionType}","messagePattern":"not set for this (.+?)","errorType":"exception","errorClass":"NotFound","httpStatus":404,"severity":"info","filePath":"services/wordpress/wordpress-platform.service.js","lineNumber":55,"sourceCode":"          parameters: pathParams({\n            name: 'slug',\n            example: exampleSlug,\n          }),\n        },\n      }\n      return route\n    }\n\n    static defaultBadgeData = { label: 'wordpress' }\n\n    async handle({ slug }) {\n      const { requires: wordpressVersion } = await this.fetch({\n        extensionType,\n        slug,\n      })\n\n      if (wordpressVersion === false) {\n        throw new NotFound({\n          prettyMessage: `not set for this ${extensionType}`,\n        })\n      }\n\n      return renderVersionBadge({ version: wordpressVersion })\n    }\n  }\n}\n\nclass WordpressPluginTestedVersion extends BaseWordpress {\n  static category = 'platform-support'\n\n  static route = {\n    base: 'wordpress/plugin/tested',\n    pattern: ':slug',\n  }\n\n  static openApi = {","sourceCodeStart":37,"sourceCodeEnd":73,"githubUrl":"https://github.com/badges/shields/blob/766fd8bc89a90b8534dc573ab72dec30215ab1ec/services/wordpress/wordpress-platform.service.js#L37-L73","documentation":"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.","triggerScenarios":"The queried plugin/theme exists on wordpress.org but its readme/metadata omits the 'Requires at least' header, so requires === false.","commonSituations":"Minimal or poorly-maintained plugins that skip the 'Requires at least' header in readme.txt, custom/self-hosted plugins never published with full metadata.","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"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":"const meta = await fetch(`https://api.wordpress.org/plugins/info/1.0/${slug}.json`).then(r => r.json())\nif (!meta || !meta.requires) console.warn('plugin does not declare a minimum WordPress version');","typeGuard":"function hasRequires(meta) { return typeof meta?.requires === 'string' && meta.requires.length > 0 }","tryCatchPattern":"try {\n  const badge = await wpPlatform.handle({ extensionType, slug })\n} catch (e) {\n  if (e.message.endsWith('not set for this plugin')) {\n    // show 'wordpress | N/A' instead of a version\n  } else throw e\n}","preventionTips":["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"],"tags":["missing-metadata","wordpress","not-set","badge"],"backgroundTag":"missing-field-in-response","analyzedSha":"766fd8bc89a90b8534dc573ab72dec30215ab1ec","analyzedAt":"2026-08-30T01:40:27.499Z","schemaVersion":2},"datasetVersion":"2026-08-30T03:17:51.788Z"}