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
#151WPeMatico RSS Feed Fetcher241,37858710k+Output is not escaped
#152bbp style pack251,4191,7916k+Output is not escaped
#153Booking Activities251,0361,4693k+Output is not escaped
#154BuddyPress Docs252844217k+Nonce verification recommended
#155HIPAA FORMS25414416800Request data is not unslashed
#156DecaLog259432361k+Exception output is not escaped
#157FlatPM – Ad Manager, AdSense and Custom Code253,01755710k+Text Domain Mismatch
#158Photo Gallery by FooGallery : Responsive Image Gallery, Masonry Gallery & Carousel258761,798100k+Non-prefixed global variable
#159Gallery Images Ape255883411k+Output is not escaped
#160HashBar – Announcement, Notification Bar & Popup Campaign252,7186108k+Text Domain Mismatch
#161IP Location Block2552162410k+Output is not escaped
#162IP Locator25482211600Text Domain Mismatch
#163MaxButtons – Create buttons2562640470k+Output is not escaped
#164Multibanco / MB Way / Payshop / Cofidis Pay (by LUSOPAY) for WooCommerce25492216400Text Domain Mismatch
#165Object Sync for Salesforce25192296500Non-prefixed global variable
#166Password Protected — Lock Entire Site, Pages, Posts, Categories, and Partial Content256811,517300k+Non-prefixed global variable
#167Piotnet Forms251873743k+Alternative PHP tag found
#168Post Snippets – Custom WordPress Code Snippets Customizer258081,65420k+Non-prefixed global variable
#169Premmerce257121,411500Non-prefixed global variable
#170Premmerce Product Search for WooCommerce255961,350900Non-prefixed global variable
#171Rate limiting for Contact Form 7255471,306500Non-prefixed global variable
#172reSmush.it : The original free image compressor and optimizer plugin2515569100k+Output is not escaped
#173SEO Repair Kit – Meta Manager, Schema Manager, SEO Content Monitoring, GSC Integration, Keyword & Rank Tracking251969022k+Direct Query
#174Sitemap by click5252861326k+Unsafe printing function
#175Themify Event Post253971433k+Output is not escaped
#176Timeline Express255311479k+Text Domain Mismatch
#177Toocheke Companion254211,1321k+Non-prefixed global variable
#178Webcomic25593308600Output is not escaped
#179WP Airbnb Review Slider253256461k+Non-prefixed global variable
#180Nested Pages2567456090k+Non-prefixed global variable
#181Perfect Images: Regenerate Thumbnails, Image Sizes, WebP & AVIF2515811860k+Non-prefixed global variable
#182WP Yelp Review Slider256001,0861k+Non-prefixed global variable
#183WPCargo Track & Trace2523955710k+Non-prefixed global variable
#184Floating Chat Widget: Contact Chat Icons, Telegram Chat, Line Messenger, WeChat, Email, SMS, Call Button – Chaty26113671400k+Non-prefixed global variable
#185Translate WordPress with ConveyThis – AI Multilingual Plugin261592971k+Non-prefixed global variable
#186ezCache2612728810k+Direct Query
#187Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager2611359790k+Non-prefixed global variable
#188Translate WordPress – Google Language Translator26200317100k+Non-prefixed global variable
#189Media File Renamer: Rename for better SEO (AI-Powered)2615417040k+Direct Query
#190Hotel Booking266909404k+Unsafe printing function
#191OOPSpam Anti-Spam: Spam Protection for WordPress Forms & Comments (No CAPTCHA)262725996k+Request data is not unslashed
#192Open User Map – Interactive Leaflet Maps2689598810k+Non-prefixed global variable
#193Paytium: Mollie payment forms & donations265065513k+Unsafe printing function
#194SEO Booster264031,3311k+Non-prefixed global variable
#195Sliced Invoices – WordPress Invoice Plugin266844555k+Output is not escaped
#196Theater for WordPress26348344600Output is not escaped
#197Virtue/Ascend/Pinnacle Toolkit2660530030k+Output is not escaped
#198Cart Abandonment Recovery for WooCommerce – Recover Lost Sales with Automated Emails2651325300k+Direct Query
#199Premmerce SEO for WooCommerce265501,2851k+Non-prefixed global variable
#200Accordions – Responsive Accordion & FAQ Plugin for WordPress275541581k+Text Domain Mismatch