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
#51Pay For Post with WooCommerce219601,4741k+Non-prefixed global variable
#52PPOM – Product Addons & Custom Fields for WooCommerce213361,32520k+Non-prefixed global variable
#53WP phpMyAdmin214,5286,43550k+Missing Arg Domain
#54WPScan – WordPress Security Scanner215272658k+Text Domain Mismatch
#55Frontend Admin by DynamiApps225,9223,20810k+Text Domain Mismatch
#56Advanced Ads – Ad Manager & AdSense22578734100k+Non-prefixed global variable
#57Advanced Classifieds & Directory Pro221,2293,5112k+Non-prefixed global variable
#58Advanced Form Integration — Connect Forms to 200+ Apps225,7714,67810k+wp function not compatible with requires wp
#59Ajax Load More – Infinite Scroll, Load More, & Lazy Load2264159540k+Unsafe printing function
#60All-in-One Video Gallery229112,89220k+Non-prefixed global variable
#61Booking for Appointments and Events Calendar – Amelia221,48948090k+Exception output is not escaped
#62Shortcodes and extra features for Phlox theme2241342690k+Output is not escaped
#63Knowledge Base documentation & wiki plugin – BasePress Docs226711,7672k+Non-prefixed global variable
#64Borderless – Addons and Templates for Elementor224381,3885k+Non-prefixed global variable
#65BuddyPress225839,008100k+Non-prefixed function
#66Better WordPress Minify224124848k+Non Singular String Literal Domain
#67Captcha by BestWebSoft – Advanced Spam Protection, Math & OCR-Friendly Captcha for Site Forms2249329510k+Text Domain Mismatch
#68Divi Carousel Lite – 17+ Carousel Module229671,27510k+Non-prefixed global variable
#69Cleanup Action Scheduler225451,3061k+Non-prefixed global variable
#70Clearfy Cache – WordPress optimization plugin, Minify HTML, CSS & JS, Defer222,8581,27050k+Text Domain Mismatch
#71Code Profiler – WordPress Performance Profiling and Debugging Made Easy222654008k+Non-prefixed global variable
#72Passster – Password Protect Pages and Content225391,41910k+Non-prefixed global variable
#73Cozy Blocks – Page Builder for Gutenberg Editor & FSE with 500+ Patterns, 57 Blocks & Templates222,1674,1757k+Non-prefixed global variable
#74SysBasics Customize My Account for WooCommerce – Dashboard, Endpoints, Avatar & Menu Manager227058458k+Non-prefixed global variable
#75Directorist: AI-Powered Business Directory, Listings & Classified Ads224432,12920k+Non-prefixed global variable
#76Download Manager222,2901,301100k+Output is not escaped
#77E2Pdf – Export Pdf Tool for WordPress221,07583610k+Unsafe printing function
#78EleSpare – News, Magazine and Blog Addons for Elementor227331,42310k+Non-prefixed global variable
#79Events Manager – Calendar, Bookings, Tickets, and more!224,7225,62170k+Output is not escaped
#80Finale Lite – Sales Countdown Timer & Discount for WooCommerce221,0314514k+Output is not escaped
#81Fluent Forms – Customizable Contact Forms, Survey, Quiz, & Conversational Form Builder22409236700k+Text Domain Mismatch
#82Notification Bar, Announcement and Cookie Notice WordPress Plugin – FooBar221,3211,3713k+Non-prefixed global variable
#83FunnelKit Payment Gateway for Stripe WooCommerce2224432120k+Input is not sanitized
#84GeoDirectory – WP Business Directory Plugin and Classified Listings Directory224,4623,97210k+Output is not escaped
#85IMPress for IDX Broker221,0856367k+Text Domain Mismatch
#86Insert or Embed Articulate Content into WordPress226591,4372k+Non-prefixed global variable
#87Import WP – Export and Import CSV and XML files to WordPress225803304k+Exception output is not escaped
#88LearnPress – WordPress LMS Plugin for Create and Sell Online Courses222,3613,38470k+Non-prefixed global variable
#89Leyka222533,4452k+Request data is not unslashed
#90Custom Login Page Customizer – Login Designer225881,45530k+Non-prefixed global variable
#91MailOptin – Popup, Optin Forms & Email Newsletters for Mailchimp, HubSpot, AWeber Etc.222,6192,45310k+Output is not escaped
#92Slider, Gallery, and Carousel by MetaSlider – Image Slider, Video Slider22207323500k+Non-prefixed global variable
#93Modula Image Gallery – Photo Grid & Video Gallery22474436100k+Text Domain Mismatch
#94Molongui Authorship – Author Boxes, Guest Authors & Co-Authors for WordPress229191,23010k+Output is not escaped
#95Motors – Car Dealership & Classified Listings Plugin225,3405,9589k+Text Domain Mismatch
#96Newsletters222,9682,2482k+Text Domain Mismatch
#97PagBank / PagSeguro Connect para WooCommerce225047434k+Non-prefixed global variable
#98Smart Popup by Supsystic223,17250310k+Non Singular String Literal Domain
#99Post SMTP – Complete Email Deliverability and SMTP Solution with Email Logs, Alerts, Backup SMTP & Mobile App221,5812,326300k+Non-prefixed global variable
#100Prime Mover – Migrate WordPress Website & Backups221,3261,60010k+Non-prefixed global variable