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
#3Dynamic Team Manager – Team Member Showcase with grid, slider, table Elementor widget & shortcode179222,014900Non-prefixed global variable
#4Pagopar – WooCommerce Gateway185301,215400Non-prefixed global variable
#5Podlove Podcast Publisher182,3541,4333k+Output is not escaped
#6Shopping Cart & eCommerce Store185,37317,4663k+Non-prefixed global variable
#7AI Infographic Maker191,383599600Output is not escaped
#8Netgsm193343081k+Setting is missing a sanitization callback
#9Razorpay Payment Button Plugin19486982k+Exception output is not escaped
#10Membership Plugin – Kadence Memberships195,0832,9829k+Text Domain Mismatch
#11SysBasics Customize My Account for WooCommerce – Live My Account Customizer207439118k+Non-prefixed global variable
#12Download Monitor204231,36480k+Non-prefixed hook name
#13Event Organiser201,10454420k+Text Domain Mismatch
#14Razorpay Payment Button Elementor Plugin20479621k+Exception output is not escaped
#15SMS Extension for Contact Form 7217201,387400Non-prefixed global variable
#16Free Downloads WooCommerce214303594k+Output is not escaped
#17Eupago Gateway For Woocommerce215762332k+Output is not escaped
#18Filter Everything — WordPress & WooCommerce Filters2164393350k+Non-prefixed global variable
#19Imagify Image Optimization: Optimize Images | Compress & Convert to WebP/AVIF214288621m+Non-prefixed global variable
#20Mooberry Book Manager211,0403991k+Text Domain Mismatch
#21MotoPress Hotel Booking213,0671,03710k+Text Domain Mismatch
#22OneLogin SAML SSO215073307k+wp function not compatible with requires wp
#23Paid Membership Subscriptions – Effortless Memberships, Recurring Payments & Content Restriction211,9535,29710k+Non-prefixed hook name
#24PeachPay — Payments & Express Checkout for WooCommerce (supports Stripe, PayPal, Square, Authorize.net, NMI)21485813300Missing direct file access protection
#25User Profile Builder – Beautiful User Registration Forms, User Profiles & User Role Editor217031,46340k+Missing Translators Comment
#26Razorpay Quick Payments21399632k+Exception output is not escaped
#27Rocket Maintenance Mode & Coming Soon Page211,1761,4064k+Non-prefixed global variable
#28Royal Addons for Elementor – Addons and Templates Kit for Elementor2113,0162,440600k+Text Domain Mismatch
#29Seamless Donations is Sunset216005142k+Text Domain Mismatch
#30BuddyPress WooCommerce My Account Integration. Create WooCommerce Member Pages216681,569800Non-prefixed global variable
#31Paysera Payment Gateway for WooCommerce211,8681967k+Exception output is not escaped
#32Pay For Post with WooCommerce219581,4771k+Non-prefixed global variable
#33WPScan – WordPress Security Scanner215272658k+Text Domain Mismatch
#34ANAC XML Bandi di Gara22294244500Output is not escaped
#35Borderless – Addons and Templates for Elementor224381,3885k+Non-prefixed global variable
#36Cleanup Action Scheduler225451,3061k+Non-prefixed global variable
#37E2Pdf – Export Pdf Tool for WordPress221,08184710k+Unsafe printing function
#38Ebook Store224101,054700Non-prefixed global variable
#39FACTO – Facturación Electrónica22244423400Request data is not unslashed
#40Finale Lite – Sales Countdown Timer & Discount for WooCommerce221,0314514k+Output is not escaped
#41Jetpack – WP Security, Backup, Speed, & Growth222,9751,3483m+Text Domain Mismatch
#42MarketKing — Ultimate WooCommerce Multivendor Marketplace Solution221,1311,846800Non-prefixed global variable
#43myCred Addons – Ultimate myCred Modules To Support WordPress Gamification and Loyalty Rewards222,3441,320400Output is not escaped
#44WP OAuth Server (OAuth Authentication)221893473k+Non-prefixed function
#45PageSpeed Ninja – Cache, Minify, Defer CSS JavaScript, Critical CSS, Optimize Images, Convert WebP229844075k+Unsafe printing function
#46Restrict User Access – Ultimate Membership & Content Protection229771,84010k+Non-prefixed global variable
#47The Moneytizer227512711k+Text Domain Mismatch
#48Uncanny Toolkit for LearnDash2253999420k+Output is not escaped
#49UpStream: a Project Management Plugin for WordPress22683703600Non-prefixed global variable
#50WCFM – Frontend Manager for WooCommerce224,7315,05720k+Non-prefixed global variable