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
#401Local Delivery Drivers for WooCommerce241,8321,483900Non-prefixed global variable
#402Event Booking Manager for WooCommerce – Registration, RSVP, Calendar & Tickets249692,1407k+Non-prefixed global variable
#403Generate Images (AI) – Magic Post Thumbnail241,9401,7616k+Non-prefixed global variable
#404Mail Mint – Email Marketing, Newsletter, Email Automation & WooCommerce Emails244,6961,4805k+Text Domain Mismatch
#405MailerPress – Newsletter, email marketing & AI automation248053,9311k+Direct Query
#406Mang Board WP241,2134,7209k+Non-prefixed global variable
#407Mass Pages/Posts Creator247361,3641k+Non-prefixed global variable
#408Min and Max Quantity for WooCommerce2460345920k+Text Domain Mismatch
#409Receive customer payments on Woocommerce245491,4191k+Non-prefixed global variable
#410Timetable and Event Schedule by MotoPress2445623230k+Output is not escaped
#411MT Addons for Elementor243,0731,4422k+Text Domain Mismatch
#412Music Player for Elementor – Audio Player & Podcast Player246081,30210k+Non-prefixed global variable
#413MxChat – AI Chatbot & Content Generation for WordPress243,2301,4052k+Text Domain Mismatch
#414New User Approve246521,41520k+Non-prefixed global variable
#415Ninja Forms – The Contact Form Builder That Grows With You247491,533600k+Nonce verification recommended
#416NotificationX – FOMO, Live Sales Notification, WooCommerce Sales Popup, GDPR, Social Proof, Announcement Banner & Floating Notification Bar2426740440k+Non-prefixed hook name
#417Overlay Image Divi Module245761,3012k+Non-prefixed global variable
#418Pagination Styler for WooCommerce247994481k+Output is not escaped
#419Participants Database249508947k+SQL query is not prepared
#420PeproDev Ultimate Invoice243792344k+Output is not escaped
#421PixelYourSite – Your smart PIXEL (TAG) & API Manager241,1762,416500k+Non-prefixed namespace
#422Post Slider and Post Carousel with Post Vertical Scrolling Widget – A Responsive Post Slider245991,53210k+Non-prefixed global variable
#423Post Status Notifier Lite24984451700Missing direct file access protection
#424Premmerce Brands for WooCommerce247001,3442k+Non-prefixed global variable
#425Premmerce Product Filter for WooCommerce248171,4862k+Non-prefixed global variable
#426Product Editor Pro – WooCommerce Bulk Edit: Prices, Stock, Images, Titles, CSV Import & More242,1544,8331k+Non-prefixed global variable
#427Product Tabs Manager for WooCommerce246344822k+Text Domain Mismatch
#428Product Watermark for WooCommerce246854592k+Text Domain Mismatch
#429Products Compare for WooCommerce241,0226951k+Output is not escaped
#430Quiz and Survey Master (QSM) – Easy Quiz and Survey Maker244052,60640k+Non-prefixed hook name
#431RSVP and Event Management243456243k+Direct Query
#432Sales Report for WooCommerce246594511k+Output is not escaped
#433SEO Engine – Smart SEO with AI, Schema & Redirection for WordPress242393041k+Direct Query
#434SEOKEY – Powerful SEO plugin with Expert Insights and SEO Audit246059281k+Non-prefixed global variable
#435Sequential Order Numbers for WooCommerce246984721k+Text Domain Mismatch
#436Servebolt Optimizer241,9586811k+Text Domain Mismatch
#437Share This Image247441,5821k+Non-prefixed global variable
#438Shortcodes Ultimate – Content Elements246561,552400k+Non-prefixed global variable
#439ShortPixel Adaptive Images – WebP, AVIF, CDN, Image Optimization2492632210k+Output is not escaped
#440Simple Membership242,2971,73440k+Unsafe printing function
#441Sitepact's Contact Form 7 Extension For Klaviyo245411,412500Non-prefixed global variable
#442SKT Templates – 100% Free Templates for Elementor & Gutenberg245531,35320k+Non-prefixed global variable
#443Slider Hero with Video Background, Animation24369053k+Non-prefixed hook name
#444Slideshow Gallery LITE248964145k+Output is not escaped
#445Smart Variations Images & Swatches for WooCommerce249901,4861k+Non-prefixed global variable
#446MoreConvert Wishlist for WooCommerce243,6816299k+Text Domain Mismatch
#447Sokol: Smart WooCommerce Search245991,5516k+Non-prefixed global variable
#448SpiceBox248281,81620k+Non-prefixed global variable
#449Spider Elements – Premium Elementor Widgets & Addons Library245421,555500Non-prefixed global variable
#450Spotlight Social Feeds – Block, Shortcode, and Widget2441114760k+Output is not escaped