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

RankPluginScoreErrorsWarningsInstallsUpdatedTop Issue
#1Intercom060716k+Non-prefixed function
#2AnyComment174454495k+Output is not escaped
#3Podlove Podcast Publisher182,3261,4293k+Output is not escaped
#4Shopping Cart & eCommerce Store185,45917,2984k+Non-prefixed global variable
#5Download Monitor194251,36480k+Non-prefixed hook name
#6Event Organiser191,10654420k+Text Domain Mismatch
#7Razorpay Payment Button Plugin19486982k+Exception output is not escaped
#8Membership Plugin – Kadence Memberships195,0822,9829k+Text Domain Mismatch
#9Filter Everything — WordPress & WooCommerce Filters2056873050k+Output is not escaped
#10CallTrackingMetrics219232863k+Unsafe printing function
#11Free Downloads WooCommerce214303594k+Output is not escaped
#12Eupago Gateway For Woocommerce216123202k+Output is not escaped
#13Imagify: Optimize Images for Top Speed (Compress & Convert to WebP/AVIF)214208611m+Non-prefixed global variable
#14MotoPress Hotel Booking213,0611,03710k+Text Domain Mismatch
#15OneLogin SAML SSO215083307k+wp function not compatible with requires wp
#16Paid Membership Subscriptions – Effortless Memberships, Recurring Payments & Content Restriction211,9185,06510k+Non-prefixed hook name
#17User Profile Builder – Beautiful User Registration Forms, User Profiles & User Role Editor216961,48350k+Nonce verification recommended
#18Razorpay Quick Payments21399633k+Exception output is not escaped
#19Rocket Maintenance Mode & Coming Soon Page211,1761,4064k+Non-prefixed global variable
#20Royal Addons for Elementor – Addons and Templates Kit for Elementor2113,0112,530600k+Text Domain Mismatch
#21Seamless Donations is Sunset216005142k+Text Domain Mismatch
#22WCFM – Frontend Manager for WooCommerce214,7215,06720k+Non-prefixed global variable
#23Paysera Payment Gateway for WooCommerce211,8661957k+Exception output is not escaped
#24Pay For Post with WooCommerce219601,4741k+Non-prefixed global variable
#25WPScan – WordPress Security Scanner215272658k+Text Domain Mismatch
#26Advanced Ads – Ad Manager & AdSense22578734100k+Non-prefixed global variable
#27Shortcodes and extra features for Phlox theme2241342690k+Output is not escaped
#28Borderless – Addons and Templates for Elementor224381,3885k+Non-prefixed global variable
#29Cleanup Action Scheduler225451,3061k+Non-prefixed global variable
#30SysBasics Customize My Account for WooCommerce – Dashboard, Endpoints, Avatar & Menu Manager227058458k+Non-prefixed global variable
#31E2Pdf – Export Pdf Tool for WordPress221,07583610k+Unsafe printing function
#32Finale Lite – Sales Countdown Timer & Discount for WooCommerce221,0314514k+Output is not escaped
#33IMPress for IDX Broker221,0856367k+Text Domain Mismatch
#34WP OAuth Server (OAuth Authentication)221893473k+Non-prefixed function
#35PageSpeed Ninja – Cache, Minify, Defer CSS JavaScript, Critical CSS, Optimize Images, Convert WebP229844075k+Unsafe printing function
#36Restrict User Access – Ultimate Membership & Content Protection229771,84010k+Non-prefixed global variable
#37The Moneytizer227512711k+Text Domain Mismatch
#38Uncanny Toolkit for LearnDash2253999420k+Output is not escaped
#39Advanced AJAX Product Filters222,6831,20550k+Text Domain Mismatch
#40WPBITS Addons For Elementor Page Builder229961,3992k+Non-prefixed global variable
#41ЮKassa для WooCommerce225911689k+Short PHP open tag found
#42Advanced Product Labels for WooCommerce2392155920k+Text Domain Mismatch
#43AI Engine – The Chatbot, AI Framework & MCP for WordPress23413559100k+error log error log
#44Autocomplete Address and Location Picker for WooCommerce236301,2992k+Non-prefixed global variable
#45Autoptimize23288191800k+Output is not escaped
#46B2BKing — Ultimate WooCommerce B2B and Wholesale Plugin — Wholesale Prices, Bulk Order Form & More231,34740910k+Text Domain Mismatch
#47BA Book Everything231,1841,08610k+Output is not escaped
#48Beds24 Online Booking235323742k+wp function not compatible with requires wp
#49Cart Notices for WooCommerce236504712k+Text Domain Mismatch
#50All In One Login — Login Page Security and Customization for WordPress with Google reCAPTCHA, Social Login, Temporary Login, 2FA, and more.237421,34360k+Non-prefixed global variable