PluginCheck.CodeAnalysis.SettingSanitization.register_settingMissing

Setting is missing a sanitization callback

A registered setting does not define a sanitization callback.

critical weight

Why It Shows Up

Plugin Check found `register_setting()` without a `sanitize_callback` or equivalent validation strategy.

Why It Matters

Settings can be saved by administrators and then displayed or used later. Without sanitization, invalid or unsafe values can persist.

How to Fix

  • Pass a `sanitize_callback` in the `register_setting()` arguments.
  • Use built-in sanitizers for simple values and custom callbacks for structured settings.
  • Validate allowed values and return a safe default when input is invalid.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#351Business Hours Indicator351391068k+Alternative PHP tag found
#352CHP Ads Block Detector3510935900Output is not escaped
#353Wbcom Designs – Custom Font Uploader353401233k+Text Domain Mismatch
#354Custom Post Type Permalinks3584200k+Setting is missing a sanitization callback
#355DarkLooks – Dark Mode Switcher For WordPress3519521900Text Domain Mismatch
#356PiWeb Disable payment method / Partial payment for WooCommerce35552214k+Non-prefixed class
#357DOOFINDER Search and Discovery for WP & WooCommerce351511203k+Text Domain Mismatch
#358Easy Dash for LearnDash3562388800Text Domain Mismatch
#359Easy Panorama3512010500Non Singular String Literal Domain
#360Easy Social Icons3518215820k+Output is not escaped
#361Easy SwipeBox35157102k+Non Singular String Literal Domain
#362Embed Privacy35104110k+slow db query meta key
#363Equivalent Mobile Redirect3529172k+Text Domain Mismatch
#364EWWW Image Optimizer352257291m+Direct Query
#365Export Featured Images35176671k+Output is not escaped
#366Events Calendar by FooEvents3556594k+Non-prefixed global variable
#367Friendly Captcha for WordPress35192629k+Output is not escaped
#368GDPR Compliance & Cookie Consent35251614k+Output is not escaped
#369Get a Newsletter35138144400Output is not escaped
#370Gumlet – Image optimization with Resize, Compression, Lazy load, Caching & CDN delivery355345500parse url parse url
#371Ultimate Addons for Elementor35702262m+Non-prefixed hook name
#372Highlighting Code Block3530310k+Output is not escaped
#373Nobs • Share Buttons35314853k+Output is not escaped
#374Kiyoh customer review3517368500Output is not escaped
#375Topic Progression Using Storyline/Captivate for LearnDash3538225400Text Domain Mismatch
#376Login Page Styler – Custom WordPress Login Page Customizer & Security351251682k+Missing Arg Domain
#377Log in with Google355176k+Non-prefixed global variable
#378Mechanic Visitor Counter35240668k+Output is not escaped
#379Mini Cart for WooCommerce – Add a Stylish Sliding Cart3542160600Non-prefixed global variable
#380Modern Images WP35103400Missing Translators Comment
#381Nooz35287108500Text Domain Mismatch
#382Fonts Plugin | Google Fonts, Adobe Fonts & Upload Fonts35418200k+Missing direct file access protection
#383OPcache Manager35155751k+Output is not escaped
#384Order Delivery Date for WooCommerce352,0607310k+wp function not compatible with requires wp
#385PiWeb Delivery & Pickup Date Time for WooCommerce35377163500Text Domain Mismatch
#386Planyo online reservation system356490400Output is not escaped
#387Pochipp352710220k+Non-prefixed global variable
#388Post Meta Data Manager35301121k+Non-prefixed global variable
#389Push7354517700Short PHP open tag found
#390Quran multilanguage Text & Audio35177166500Output is not escaped
#391Really Simple Google Tag Manager (GTM)35115154k+Text Domain Mismatch
#392Remove Admin Toolbar35137600Missing direct file access protection
#393Reseller Store3556341k+Output is not escaped
#394Search Attributes for WooCommerce35263600Text Domain Mismatch
#395SEO Slider35242171k+Text Domain Mismatch
#396Shop Page WP3568232k+Unsafe printing function
#397Simple CAPTCHA with Cloudflare Turnstile3582148100k+Output is not escaped
#398Simple Header Footer HTML353053k+Output is not escaped
#399Simple History – Track, Log, and Audit WordPress Changes3532122300k+Non-prefixed global variable
#400Simple Image Sizes35537560k+Unsafe printing function