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
#1Intercom060716k+Non-prefixed function
#2AnyComment174454495k+Output is not escaped
#3Shopping Cart & eCommerce Store177,49217,5543k+Non-prefixed global variable
#4Administrator Z182,061799400Output is not escaped
#5Pagopar – WooCommerce Gateway185301,215400Non-prefixed global variable
#6Netgsm193523481k+Non-prefixed global variable
#7Razorpay Payment Button Plugin19486982k+Exception output is not escaped
#8SysBasics Customize My Account for WooCommerce – Live My Account Customizer207439117k+Non-prefixed global variable
#9Download Monitor204231,36780k+Non-prefixed hook name
#10Event Organiser201,10454420k+Text Domain Mismatch
#11Razorpay Payment Button Elementor Plugin20479621k+Exception output is not escaped
#12Membership Plugin – Kadence Memberships205,0893,0059k+Text Domain Mismatch
#13Restrict User Access – Ultimate Membership & Content Protection209771,84810k+Non-prefixed global variable
#14Eupago Gateway For Woocommerce215762332k+Output is not escaped
#15Filter Everything — WordPress & WooCommerce Filters2163494350k+Non-prefixed global variable
#16AI Infographic Maker211,311456600Output is not escaped
#17Mooberry Book Manager211,0403991k+Text Domain Mismatch
#18OneLogin SAML SSO215073307k+wp function not compatible with requires wp
#19Paid Membership Subscriptions – Effortless Memberships, Recurring Payments & Content Restriction211,9945,33110k+Non-prefixed hook name
#20PeachPay — Payments & Express Checkout for WooCommerce (supports Stripe, PayPal, Square, Authorize.net, NMI)21502821300Missing direct file access protection
#21User Profile Builder – Beautiful User Registration Forms, User Profiles & User Role Editor217391,49540k+Non-prefixed global variable
#22Razorpay Quick Payments21399632k+Exception output is not escaped
#23Rocket Maintenance Mode & Coming Soon Page211,1761,4064k+Non-prefixed global variable
#24Royal Addons for Elementor – Addons and Templates Kit for Elementor2112,9982,344600k+Text Domain Mismatch
#25Seamless Donations is Sunset216005142k+Text Domain Mismatch
#26WCFM – Frontend Manager for WooCommerce214,7145,05920k+Non-prefixed global variable
#27BuddyPress WooCommerce My Account Integration. Create WooCommerce Member Pages216681,569800Non-prefixed global variable
#28Pay For Post with WooCommerce219581,4771k+Non-prefixed global variable
#29WPScan – WordPress Security Scanner215272658k+Text Domain Mismatch
#30ANAC XML Bandi di Gara22294244500Output is not escaped
#31Cleanup Action Scheduler225451,3061k+Non-prefixed global variable
#32CRT Addons Builder and Widgets for Elementor227222,078300Non-prefixed global variable
#33Free Downloads WooCommerce224283524k+Output is not escaped
#34E2Pdf – Export Pdf Tool for WordPress221,08185210k+Unsafe printing function
#35Ebook Store224061,076700Non-prefixed global variable
#36FACTO – Facturación Electrónica22258450300Request data is not unslashed
#37IMPress for IDX Broker221,0956367k+Text Domain Mismatch
#38Imagify Image Optimization: Optimize Images | Compress & Convert to WebP/AVIF224168681m+Non-prefixed global variable
#39Jetpack – WP Security, Backup, Speed, & Growth223,4221,4813m+Text Domain Mismatch
#40King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder221,8353,89910k+Non-prefixed global variable
#41MarketKing — Ultimate WooCommerce Multivendor Marketplace Solution221,1321,844700Non-prefixed global variable
#42MotoPress Hotel Booking223,0671,05010k+Text Domain Mismatch
#43myCred Addons – Ultimate myCred Modules To Support WordPress Gamification and Loyalty Rewards222,3441,320400Output is not escaped
#44WP OAuth Server (OAuth Authentication)221893453k+Non-prefixed function
#45PageSpeed Ninja – Cache, Minify, Defer CSS JavaScript, Critical CSS, Optimize Images, Convert WebP229844075k+Unsafe printing function
#46The Moneytizer227512711k+Text Domain Mismatch
#47Uncanny Toolkit for LearnDash2253999420k+Output is not escaped
#48UpStream: a Project Management Plugin for WordPress22683703500Non-prefixed global variable
#49Paysera Payment Gateway for WooCommerce221,8701987k+Exception output is not escaped
#50WPBITS Addons For Elementor Page Builder229961,3992k+Non-prefixed global variable