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
#251User Avatar – Reloaded30352171900Text Domain Mismatch
#252Waitlist Woocommerce ( Back in stock notifier )302723114k+Output is not escaped
#253Dropify301302522k+Nonce verification recommended
#254Webling30147313500Input is not validated
#255remarketable3028193600Output is not escaped
#256WP Inventory Manager308562331k+Output is not escaped
#257WPOrLogin – Custom Login, Social Login, Limit Attempts, Hide Login & reCAPTCHA304842222k+Unsafe printing function
#258Advanced Woo Search – Product Search for WooCommerce3122837770k+Nonce verification recommended
#259All-in-one contact buttons – WPSHARE247311081134k+Non-prefixed global variable
#260Co-marquage service-public.fr31842131k+Non-prefixed global variable
#261g-FFL Checkout31249300600Request data is not unslashed
#262OMGF | GDPR/DSGVO Compliant, Faster Google Fonts. Easy.3121362300k+Output is not escaped
#263My Private Site3142519020k+Text Domain Mismatch
#264Keywords to Links Converter31288144700Text Domain Mismatch
#265Patreon WordPress312763393k+Output is not escaped
#266Qode Essential Addons315529510k+Non-prefixed global variable
#267Raffle Play Woocommerce31151199800Output is not escaped
#268Simple calendar for Elementor31125270500Direct Query
#269Discussion Board – WordPress Forum Plugin311051532k+Request data is not unslashed
#270WPDoctor Malware Scanner & Vulnerability Checker & IP blocker with Hack monitor Lite31133438600Non-prefixed global variable
#271ActiveDEMAND321571611k+Output is not escaped
#272APCu Manager3215112610k+Output is not escaped
#273BuddyPress for LearnDash321902841k+Output is not escaped
#274Contact Form Block326477500Non Singular String Literal Domain
#275Cooked – Recipe Management324622753k+Output is not escaped
#276Enter Addons – Ultimate Template Builder for Elementor3282721k+Output is not escaped
#277Gallery Box32395431k+Text Domain Mismatch
#278HTML5 jQuery Audio Player322511531k+Unsafe printing function
#279DEPRECATED – Shipmondo – A complete shipping solution for WooCommerce321661195k+Output is not escaped
#280Showcase IDX Real Estate Search & Lead Capture32123522k+Output is not escaped
#281Spoki – Chat Buttons and WooCommerce Notifications321,074260700Unsafe printing function
#282TK Google Fonts GDPR Compliant32582341k+Output is not escaped
#283WooMS3219958500Output is not escaped
#284WP Popup32539651k+Text Domain Mismatch
#285WPCasa – Real Estate for WordPress32854291k+Non-prefixed global variable
#286Dynamic XML Sitemaps Generator for Google327441120k+Non-prefixed global variable
#287Advanced Custom Fields: Typography Field33445574k+Text Domain Mismatch
#288Arconix Shortcodes331291074k+Output is not escaped
#289Contact List – Online Staff Directory & Address Book331183421k+Nonce verification recommended
#290Chatbot with IBM watsonx Assistant3332483400Non Singular String Literal Domain
#291Countdown Timer3331117900Text Domain Mismatch
#292Device Detector33209112600Output is not escaped
#293DJ-Accessibility – Accessibility Plugin33370483k+Text Domain Mismatch
#294Login & Register Customizer – Popup | Slider | Inline | WooCommerce3326523040k+Output is not escaped
#295EchBay Phonering Alo3374471k+Output is not escaped
#296Gallery Custom Links33646230k+Non Singular String Literal Domain
#297Geliver Akıllı Kargo Pazaryeri3346248400Non-prefixed global variable
#298Janolaw AGB Hosting33198111k+Short PHP open tag found
#299Merge + Minify + Refresh3378264k+date date
#300Offen33313115500Output is not escaped