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
#51Mapster WP Maps213,4402,8943k+Text Domain Mismatch
#52Modular DS: Monitor, update, and backup multiple websites211918240k+Exception output is not escaped
#53Mooberry Book Manager211,0403991k+Text Domain Mismatch
#54MotoPress Hotel Booking213,0671,03710k+Text Domain Mismatch
#55Points Management System For Gamification, Ranks, Badges, and Loyalty Rewards Program – myCred211,4813,34410k+Non-prefixed global variable
#56Paid Membership Subscriptions – Effortless Memberships, Recurring Payments & Content Restriction211,9535,29710k+Non-prefixed hook name
#57User Profile Builder – Beautiful User Registration Forms, User Profiles & User Role Editor217031,46340k+Missing Translators Comment
#58PublishPress Planner – Editorial Calendar, Marketing Content, Kanban Board216038906k+Output is not escaped
#59Quill Forms | Conversational Multi Step Forms, Surveys & quizzes214013703k+Text Domain Mismatch
#60Rocket Maintenance Mode & Coming Soon Page211,1761,4064k+Non-prefixed global variable
#61Royal Addons for Elementor – Addons and Templates Kit for Elementor2113,0162,440600k+Text Domain Mismatch
#62Seamless Donations is Sunset216005142k+Text Domain Mismatch
#63Uncanny Automator – AI + Automation for WordPress | AI Agent, AI Page Builder, Free AI Usage Included211,0823,11240k+Direct Query
#64URL Shortify – Simple and Easy URL Shortener211,5072,66510k+Non-prefixed global variable
#65Buckaroo Woocommerce Payments Plugin216383212k+Exception output is not escaped
#66BuddyPress WooCommerce My Account Integration. Create WooCommerce Member Pages216681,569800Non-prefixed global variable
#67Paysera Payment Gateway for WooCommerce211,8681967k+Exception output is not escaped
#68Booster for WooCommerce – PDF Invoices, Abandoned Cart, Variation Swatches & 100+ Tools217863,39330k+Non-prefixed global variable
#69Pay For Post with WooCommerce219581,4771k+Non-prefixed global variable
#70PPOM – Product Addons & Custom Fields for WooCommerce213361,31920k+Non-prefixed global variable
#71WP phpMyAdmin214,5286,43540k+Missing Arg Domain
#72WP Extended – The Ultimate WordPress Toolkit211,253398600Non Singular String Literal Domain
#73WPScan – WordPress Security Scanner215272658k+Text Domain Mismatch
#74WP Sessions Time Monitoring Full Automatic228691,529500Non-prefixed global variable
#75Advanced Classifieds & Directory Pro221,2293,5122k+Non-prefixed global variable
#76Ajax Load More – Infinite Scroll, Load More, & Lazy Load2264159230k+Unsafe printing function
#77All-in-One Video Gallery – Video Player & Galleries for YouTube, Vimeo & Self-Hosted Videos229122,88520k+Non-prefixed global variable
#78Backup Bolt225801,313800Non-prefixed global variable
#79Borderless – Addons and Templates for Elementor224381,3885k+Non-prefixed global variable
#80Better WordPress Minify224124847k+Non Singular String Literal Domain
#81Captcha by BestWebSoft – Advanced Spam Protection, Math & OCR-Friendly Captcha for Site Forms2249329510k+Text Domain Mismatch
#82CartFlows – Funnel Builder & Checkout Plugin for WooCommerce22460656200k+Text Domain Mismatch
#83Cleanup Action Scheduler225451,3061k+Non-prefixed global variable
#84Clearfy Cache – WordPress optimization plugin, Minify HTML, CSS & JS, Defer222,8541,26950k+Text Domain Mismatch
#85Code Profiler – WordPress Performance Profiling and Debugging Made Easy222654008k+Non-prefixed global variable
#86Cozy Blocks – Page Builder for Gutenberg Editor & FSE with 700+ Patterns, 58 Blocks & Templates222,4374,4026k+Non-prefixed global variable
#87Directorist: AI-Powered Business Directory, Listings & Classified Ads225602,20220k+Non-prefixed global variable
#88Download Manager222,5131,459100k+Output is not escaped
#89E2Pdf – Export Pdf Tool for WordPress221,08184710k+Unsafe printing function
#90easyReservations225,3072,480800Text Domain Mismatch
#91EleSpare – News, Magazine and Blog Addons for Elementor227331,42310k+Non-prefixed global variable
#92Employee Spotlight – Team Member Showcase & Meet the Team Plugin22247689400Non-prefixed hook name
#93Events Manager – Calendar, Bookings, Tickets, and more!224,7165,69070k+Output is not escaped
#94Finale Lite – Sales Countdown Timer & Discount for WooCommerce221,0314514k+Output is not escaped
#95Notification Bar, Announcement and Cookie Notice WordPress Plugin – FooBar221,3211,3713k+Non-prefixed global variable
#96FunnelKit Payment Gateway for Stripe WooCommerce2224432120k+Input is not sanitized
#97GeoDirectory – WP Business Directory Plugin and Classified Listings Directory224,4553,97910k+Output is not escaped
#98If-So Dynamic Content – Elementor & All Page Builders Personalization229698447k+Output is not escaped
#99Insert or Embed Articulate Content into WordPress226591,4372k+Non-prefixed global variable
#100The Innovative Form Builder – IvyForms22750309900Exception output is not escaped