WordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFound

Dynamic hook name

The plugin invokes a hook name built from a variable or expression that Plugin Check cannot verify as plugin-prefixed.

medium weight

Why It Shows Up

Plugin Check found a dynamic hook name such as a variable, array value, or concatenated expression. Static analysis cannot prove the final hook name starts with the plugin's namespace.

Why It Matters

Dynamic hook names can be valid, but unclear naming makes collisions and unexpected integrations harder to reason about across WordPress, themes, and other plugins.

How to Fix

  • Prefer a literal hook name with the plugin prefix when the hook is part of the plugin's public API.
  • If the hook must be dynamic, keep a fixed plugin-prefixed base before the variable portion.
  • Document public dynamic hooks so integrators know the expected final hook names.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#501WP RSS Aggregator – RSS Import, Feed to Post, Autoblogging, AI Content241,77739440k+Text Domain Mismatch
#502WP School Calendar241,3611,721400Non-prefixed global variable
#503WSMS (formerly WP SMS) – SMS & MMS Notifications with OTP and 2FA for WooCommerce24911,7257k+Non-prefixed hook name
#504WP-Stateless – Google Cloud Storage241,0364824k+Non Singular String Literal Domain
#505WP Travel – Ultimate Travel Booking System, Tour Management Engine242271,9544k+Non-prefixed hook name
#506WP Travel Engine – Tour Booking Plugin – Tour Operator Software242,0125,68920k+Non-prefixed global variable
#507Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress242,5812,109100k+Output is not escaped
#508WP User Manager – User Profile Builder & Membership2478753910k+Exception output is not escaped
#509WPAdverts – Classifieds Plugin241,3084964k+Output is not escaped
#510WPGSI: Spreadsheet Integration247841,5872k+Non-prefixed global variable
#511WPIDE – File Manager & Code Editor246121,39940k+Non-prefixed global variable
#512WpStream – Live Streaming, Video on Demand, Pay Per View241,7257423k+Text Domain Mismatch
#513YITH WooCommerce Gift Cards244361,53410k+Non-prefixed global variable
#514YITH WooCommerce Product Add-Ons244602,06920k+Non-prefixed global variable
#515YITH WooCommerce Subscription244391,5387k+Non-prefixed global variable
#516YITH WooCommerce Waitlist244201,5003k+Non-prefixed global variable
#517YITH WooCommerce Wishlist244481,486400k+Non-prefixed global variable
#518YITH WooCommerce Product Gallery & Image Zoom244181,49020k+Non-prefixed global variable
#519YMC Filter24121,7294k+Non-prefixed global variable
#520Jetpack CRM – Clients, Leads, Invoices, Billing, Email Marketing, & Automation241,2113,15230k+Non-prefixed global variable
#521Dynamic Pricing With Discount Rules for WooCommerce251652055k+Non-prefixed global variable
#522Adminify – White Label, Admin Menu Editor, Login Customizer255461,3797k+Non-prefixed global variable
#523Advanced Floating Content Lite256431,3487k+Non-prefixed global variable
#524AF Companion – Starter Sites, Speed Booster & Growth Suite for Professional Publishing256651,48610k+Non-prefixed global variable
#525FiboSearch – Ajax Search for WooCommerce25603302100k+Output is not escaped
#526AliExpress Dropshipping Plugin for WooCommerce Stores255557344k+Text Domain Mismatch
#527AIO Forms – Craft Complex Forms Easily25189418700Mixed line endings
#528Booking for Appointments and Events Calendar – Amelia251,48748090k+Exception output is not escaped
#529BlockSpare – Gutenberg Post Grid Blocks for News, Magazine & Blog Websites251,3271,71410k+Non-prefixed global variable
#530Total Upkeep – WordPress Backup Plugin plus Restore & Migrate by BoldGrid2524385450k+Non-prefixed global variable
#531Bookit — Booking & Appointment Calendar255651,4584k+Non-prefixed global variable
#532GSheetConnector for CF7 – Connect Contact Form 7 to Google Sheets and Send Form Submissions in Real Time256141,43140k+Non-prefixed global variable
#533CheckoutWC Lite – Conversion optimized WooCommerce checkout251,4168543k+Text Domain Mismatch
#534Disable Comments & Delete All Comments255031859k+Output is not escaped
#535Coinbase Business Gateway for WooCommerce255691,317800Non-prefixed global variable
#536Conditional Payment Methods for WooCommerce255481,3981k+Non-prefixed global variable
#537Contact Form DB Divi255331,2993k+Non-prefixed global variable
#538Contact Form to DB by BestWebSoft – Messages Database Plugin For WordPress254983551k+Text Domain Mismatch
#539Coupon Creator256984121k+Output is not escaped
#540Cryptocurrency Payment Gateway251,963589400Text Domain Mismatch
#541CSS & JavaScript Toolbox2515561710k+Non-prefixed class
#542Demo Importer Plus255823910k+Non-prefixed hook name
#543Disable Admin Notices – Hide Dashboard Notifications25465195100k+Output is not escaped
#544Docket Cache – Object Cache Accelerator2533348120k+Output is not escaped
#545WEB-Translation – eTranslation Multilingual252171,057400Non-prefixed function
#546Show Eventbrite Events – Event Feed for Eventbrite255951,525900Non-prefixed global variable
#547Events Made Easy255216,3241k+Non-prefixed function
#548F4 Post Tree255361,332500Non-prefixed global variable
#549FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler253194547k+Non-prefixed global variable
#550Fluid Checkout for WooCommerce – Lite2537084120k+Non-prefixed hook name