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
#101Notification Bar, Announcement and Cookie Notice WordPress Plugin – FooBar221,3211,3713k+Non-prefixed global variable
#102FunnelKit Payment Gateway for Stripe WooCommerce2224432120k+Input is not sanitized
#103GeoDirectory – WP Business Directory Plugin and Classified Listings Directory224,4663,97210k+Output is not escaped
#104Heureka22557254400Exception output is not escaped
#105IMPress for IDX Broker221,0856366k+Text Domain Mismatch
#106Insert or Embed Articulate Content into WordPress226591,4372k+Non-prefixed global variable
#107The Innovative Form Builder – IvyForms22713250400Exception output is not escaped
#108Import WP – Export and Import CSV and XML files to WordPress225803304k+Exception output is not escaped
#109LearnPress – WordPress LMS Plugin for Create and Sell Online Courses222,3463,34170k+Non-prefixed global variable
#110Leyka222533,4452k+Request data is not unslashed
#111Custom Login Page Customizer – Login Designer225881,45530k+Non-prefixed global variable
#112Mail Baby SMTP22385699600SQL query is not prepared
#113MailOptin – Popup, Optin Forms & Email Newsletters for Mailchimp, HubSpot, AWeber Etc.222,6252,45810k+Output is not escaped
#114Slider, Gallery, and Carousel by MetaSlider – Image Slider, Video Slider22207323500k+Non-prefixed global variable
#115Modula Image Gallery – Photo Grid & Video Gallery22474436100k+Text Domain Mismatch
#116Molongui Authorship – Author Boxes, Guest Authors & Co-Authors for WordPress229191,23010k+Output is not escaped
#117Motors – Car Dealership & Classified Listings Plugin225,3405,9589k+Text Domain Mismatch
#118Newsletters222,9682,2482k+Text Domain Mismatch
#119Packeta228013338k+Exception output is not escaped
#120PagBank / PagSeguro Connect para WooCommerce225047574k+Non-prefixed global variable
#121PDF Builder for WPForms22321266900SQL query is not prepared
#122Smart Popup by Supsystic223,17250310k+Non Singular String Literal Domain
#123Post SMTP – Complete Email Deliverability and SMTP Solution with Email Logs, Alerts, Backup SMTP & Mobile App221,5812,326300k+Non-prefixed global variable
#124Prime Mover – Migrate WordPress Website & Backups221,3261,60010k+Non-prefixed global variable
#125Product Catalog Feed by PixelYourSite225813578k+Output is not escaped
#126Pronamic Pay222581,0772k+Non-prefixed global variable
#127Quick Contact Form222606231k+Non-prefixed function
#128Request a Quote Form Plugin – Price Quote Request Management Made Easy222411,1091k+Non-prefixed hook name
#129Restrict User Access – Ultimate Membership & Content Protection229771,84010k+Non-prefixed global variable
#130Salon Booking System – Free Version226556202k+Missing direct file access protection
#131Slick Popup: Contact Form 7 Popup Plugin222,3223162k+Text Domain Mismatch
#132SSL Zen — SSL Certificate Installer & HTTPS Redirects227791,57510k+Non-prefixed global variable
#133SVG Flags – Beautiful Scalable Flags For All Countries!227551,2512k+Non-prefixed global variable
#134Swift Performance Lite222,3461,3257k+Text Domain Mismatch
#135Tablesome Table – Contact Form DB – WPForms, CF7, Gravity, Forminator, Fluent222255198k+error log error log
#136Ultimate Carousel For Divi225901,566800Non-prefixed global variable
#137Ultimeter227511,3441k+Non-prefixed global variable
#138Uncanny Automator – Easy Automation, Integration, Webhooks & Workflow Builder Plugin225302,33440k+Direct Query
#139Uncanny Toolkit for LearnDash2253999420k+Output is not escaped
#140Unlimited Elements Blocks Library227081,822400Non-prefixed global variable
#141Search & Replace Everything – Quick and Easy Way to Find and Replace Text, Links221,0441,79720k+Non-prefixed global variable
#142UpStream: a Project Management Plugin for WordPress22683703600Non-prefixed global variable
#143URL Shortify – Simple and Easy URL Shortener221,5202,68910k+Non-prefixed global variable
#144UserFeedback – Create Interactive Feedback Form, User Surveys, and Polls in Seconds22444243200k+Text Domain Mismatch
#145Walker Core221,3511,436800Non-prefixed global variable
#146WCFM – Frontend Manager for WooCommerce224,7545,05420k+Non-prefixed global variable
#147Fraud Prevention For WooCommerce and EDD225721,3945k+Non-prefixed global variable
#148WooCommerce221,3596,1717m+Non-prefixed global variable
#149Advanced AJAX Product Filters222,6831,20550k+Text Domain Mismatch
#150CoDesigner – All in One Elementor WooCommerce Builder224,1317745k+Text Domain Mismatch