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
#1404 Solution155821,53210k+Non-prefixed class
#2MDTF – Meta Data and Taxonomies Filter161,5501,9561k+Non-prefixed global variable
#3RestroPress – Online Food Ordering System175343,2071k+Non-prefixed global variable
#4Shopping Cart & eCommerce Store178,03817,4643k+Non-prefixed global variable
#5wpForo Forum174,3063,02620k+Unsafe printing function
#6Property Hive181,9576,0273k+Missing nonce verification
#7WPPizza – A Restaurant Plugin184,6892,7031k+Text Domain Mismatch
#8Block Slider – Responsive Image Slider, Video Slider & Post Slider195551,2913k+Non-prefixed global variable
#9GiveWP – Donation Plugin and Fundraising Platform193,4133,569100k+Output is not escaped
#10Go Fetch Jobs (for WP Job Manager)191,4101,741700Non-prefixed global variable
#11Really Simple Security – Simple and Performant Security (formerly Really Simple SSL)195313783m+Missing Translators Comment
#12Membership Plugin – Kadence Memberships195,0853,0039k+Text Domain Mismatch
#13Scrollsequence – Cinematic Scroll Image Animation Plugin198781,5283k+Non-prefixed global variable
#14SendPress Newsletters192,2931,4221k+Output is not escaped
#15SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments195341,16180k+Non-prefixed global variable
#16WP Email Template193443452k+Exception output is not escaped
#17AweBooking – Hotel Booking System203095141k+Non-prefixed global variable
#18Brizy – Page Builder2058572670k+Output is not escaped
#19Post Form – Registration Form – Profile Form for User Profiles – Frontend Content Forms for User Submissions (UGC)207362,112900Non-prefixed global variable
#20SysBasics Customize My Account for WooCommerce – Live My Account Customizer207439118k+Non-prefixed global variable
#21Download Monitor204231,36780k+Non-prefixed hook name
#22Event Espresso – Event Registration & Ticketing Sales2012,6982,135600Text Domain Mismatch
#23EventPrime – Events Calendar, Bookings, Tickets & AI208464,2247k+Non-prefixed global variable
#24MBE eShip205277401k+Non-prefixed global variable
#25MAS Videos205191,6931k+Non-prefixed global variable
#26Microthemer Lite – Visual Editor to Customize CSS201,0041,69910k+Non-prefixed global variable
#27Powered Cache – Caching and Optimization for WordPress – Easily Improve PageSpeed & Web Vitals Score201472313k+Exception output is not escaped
#28Pronamic Pay202661,0782k+Non-prefixed global variable
#29Quill Forms | Conversational Multi Step Forms, Surveys & quizzes204003713k+Text Domain Mismatch
#30Remove Add to Cart WooCommerce206161,3784k+Non-prefixed global variable
#31Restrict User Access – Ultimate Membership & Content Protection209771,84810k+Non-prefixed global variable
#32Robin Image Optimizer – Unlimited Image Optimization, WebP & AVIF20556543100k+Output is not escaped
#33Events Manager – OpenStreetMaps20559444600Output is not escaped
#34School Management System – WPSchoolPress202455,2851k+Non-prefixed global variable
#35Forumax – AI Powered Advanced Community Forum Plugin214,9314,352600Text Domain Mismatch
#36Kadence Security – Password, Two Factor Authentication, and Brute Force Protection211,060957700k+Missing Translators Comment
#37SMS Extension for Contact Form 7217201,387400Non-prefixed global variable
#38Spam protection, Honeypot, Anti-Spam by CleanTalk218331,133200k+Missing nonce verification
#39Directorist: AI-Powered Business Directory, Listings & Classified Ads215562,21320k+Non-prefixed global variable
#40Duplicator – Backups & Migration Plugin – Cloud Backups, Scheduled Backups, & More212,5761,2981m+Output is not escaped
#41eRoom – Webinar & Meeting Plugin for Zoom, Google Meet, Microsoft Teams211864378k+Non-prefixed global variable
#42Feeds for YouTube (YouTube video, channel, and gallery plugin)21503995100k+Output is not escaped
#43Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More21522,118300k+Non-prefixed global variable
#44Ibtana – Ecommerce Product Addons211,5481,7186k+Non Singular String Literal Domain
#45AI Infographic Maker211,382620600Output is not escaped
#46Jetpack – WP Security, Backup, Speed, & Growth213,2981,4523m+Text Domain Mismatch
#47Leyka212573,4462k+Request data is not unslashed
#48Mapster WP Maps213,5943,0203k+Text Domain Mismatch
#49Modular DS: Monitor, update, and backup multiple websites211998240k+Exception output is not escaped
#50Mooberry Book Manager211,0403991k+Text Domain Mismatch