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
#1401Supreme Maps9538152k+Text Domain Mismatch
#1402Print Invoice & Delivery Notes for WooCommerce9555830k+Non-prefixed global variable
#1403WP Telegram (Auto Post and Notifications)9581530k+Non-prefixed function
#1404WebberZone Snippetz – Header, Body and Footer manager961532k+Dynamic hook name
#1405Bit SMTP – Easy SMTP Solution with Email Logs966132k+Missing Version
#1406Button Generator – Easily Create Custom Buttons with Icons and Analytics968685k+Non-prefixed global variable
#1407Custom Login Page Customizer967850k+Non-prefixed function
#1408Multibanco, MB WAY, Credit card, Apple Pay, Google Pay, Payshop, Cofidis Pay, and PIX (ifthenpay) for WooCommerce96687k+Non-prefixed function
#1409Display Eventbrite Events96313k+error log print r
#1410Lucky Wheel Giveaway96327500Non-prefixed constant
#1411Disable Admin Dashboard Notices – Get a distraction free WordPress backend97171k+Discouraged text-domain loading
#1412Dobby9732800Dynamic hook name
#1413Easy Spam Filter – Privacy-Friendly CAPTCHA Alternative with Turnstile for Contact Form 7, WPForms, BuddyPress, Elementor972141k+Dynamic hook name
#1414Blocks for ACF Fields — Display Custom Fields in the Block Editor98211k+Non-prefixed hook name
#1415Multisite Language Switcher984214k+Dynamic hook name
#1416Custom Query Blocks98613700Non-prefixed hook name
#1417ProvenExpert98810900wp function not compatible with requires wp
#1418Reddit for WooCommerce981780k+Dynamic hook name
#1419Snapchat for WooCommerce9811270k+Dynamic hook name
#1420Swift Switcher — Bulk & Custom Post Type Converter9815700Direct Query
#1421WP-PostViews9816100k+Non-prefixed function
#1422WP-Stats98242k+Non-prefixed function
#1423Animate Blocks9912400Discouraged text-domain loading
#1424Easy Hotel – Powerful Hotel Booking9911900Dynamic hook name
#1425Favicon Rotator992220k+wp function not compatible with requires wp
#1426Repeaterly – ACF Repeater, Flexible Content & Dynamic Tags for Elementor997500Dynamic hook name
#1427Shipmondo for WooCommerce9961k+Dynamic hook name
#1428Stop User Enumeration991150k+Dynamic hook name
#1429SideMenu1001900Dynamic hook name