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
#1001Product Input Fields for WooCommerce3518844k+Non-prefixed function
#1002Restrict Elementor Widgets, Columns and Sections351853500Non-prefixed function
#1003SEO Slider35242171k+Text Domain Mismatch
#1004FlexTable – Data Table Sync with Google Sheets3520784k+Direct Query
#1005SiteGround Migrator351137470k+Missing Arg Domain
#1006Solid Performance – Your No-Code Caching, Performance, & Page Speed Solution3575614k+Exception output is not escaped
#1007Spacious Toolkit354894700Non-prefixed global variable
#1008Sprout Invoices – Client Invoicing & Estimates35401,7981k+Non-prefixed hook name
#1009TailPress – Tailwind for WordPress352322500Output is not escaped
#1010Advance Product Search- Voice & Ajax Search for WooCommerce351259210k+Text Domain Mismatch
#1011Transcoder3542111500Non-prefixed function
#1012Void Elementor Post Grid Addon for Elementor Page builder35189933k+Text Domain Mismatch
#1013Conditional Payments and Shipping for WooCommerce35338271k+Text Domain Mismatch
#1014Multi-Carrier ShipStation Shipping Rates for WooCommerce3540371900Non Singular String Literal Domain
#1015Converter for Media – Optimize images | Convert WebP & AVIF3513353500k+curl curl setopt
#1016Translate WordPress with Weglot – Multilingual AI Translation353711560k+Non-prefixed global variable
#1017wePOS – Point Of Sale (POS) for WooCommerce & Dokan3547661k+Output is not escaped
#1018Wired Impact Volunteer Management352531751k+Output is not escaped
#1019ALD – Dropshipping and Fulfillment for AliExpress and WooCommerce355034310k+Request data is not unslashed
#1020Custom Payment Gateways for WooCommerce35202313k+Non Singular String Literal Domain
#1021Abandoned Cart Lite for WooCommerce358416120k+Non-prefixed global variable
#1022Call for Price for WooCommerce355378k+Non-prefixed hook name
#1023Conversion Tracking for WooCommerce35746120k+Output is not escaped
#1024Payment Gateway for PayPal Pro & PayPal Checkout for WooCommerce35671472k+Request data is not unslashed
#1025Invoices for WooCommerce355516810k+Non-prefixed global variable
#1026PDF Invoices & Packing Slips for WooCommerce3535956300k+Non-prefixed hook name
#1027Easy Accept Payments via PayPal353221287k+Text Domain Mismatch
#1028WP Dark Mode – Improve Accessibility with AI Powered Dark Theme352016020k+Non-prefixed global variable
#1029WP Geo3518084900Output is not escaped
#1030Mail logging – WP Mail Catcher3523215720k+Text Domain Mismatch
#1031WP Mailto Links – Protect Email Addresses3595698k+Output is not escaped
#1032WP Menu Custom Fields35116700Hidden files included
#1033WP-PageNavi358495500k+Non Singular String Literal Domain
#1034WPElemento Importer351261239k+Text Domain Mismatch
#1035WPFront User Role Editor3533357830k+Output is not escaped
#1036Product Labels For Woocommerce (Sale Badges)36904810k+Output is not escaped
#1037Breadcrumb NavXT36102111800k+Non Singular String Literal Domain
#1038CM Header and Footer – Add custom scripts and styles to your header and footer with ease362301981k+Output is not escaped
#1039CMB23614819300k+Output is not escaped
#1040Dynamic Front-End Heartbeat Control362171111k+Text Domain Mismatch
#1041WP CTA – Call Now Button, Sticky Button & Call to Action Builder3614332k+Non-prefixed global variable
#1042Enhanced Media Library3636111760k+Unsafe printing function
#1043PiWeb Product Enquiry or product catalog for WooCommerce362901451k+Text Domain Mismatch
#1044Genesis Sandbox Featured Content Widget36229241k+Text Domain Mismatch
#1045Gutena Kit – Gutenberg Blocks and Templates3639871k+Nonce verification recommended
#1046Page Speed Optimizer: HTTP/2 Push, Async JavaScript, and Defer CSS3668336k+Output is not escaped
#1047Image Watermark367617940k+Missing nonce verification
#1048Insert Headers and Footers Code – HT Script36391347k+Text Domain Mismatch
#1049Jetpack VideoPress366182247k+Text Domain Mismatch
#1050Materialis Companion36129676k+Unsafe printing function