WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound
Non-prefixed function
The plugin defines a function without a plugin-specific prefix.
Why It Shows Up
WordPress loads many plugins in the same PHP runtime. Plugin Check found a global symbol or hook name that is not clearly namespaced to this plugin.
Why It Matters
Unprefixed globals can collide with WordPress core, themes, or other plugins, causing fatal errors, overwritten values, or handlers running in the wrong context.
How to Fix
- Choose a short, unique prefix or namespace based on the plugin slug or vendor name.
- Rename the function so it cannot collide with code from another plugin.
- For public hooks, document the final hook name and keep it stable after release.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #1751 | CAPTCHA 4WP – Antispam CAPTCHA solution for WordPress | 35 | 20 | 10 | 100k+ | Missing Arg Domain | ||
| #1752 | Advanced Reporting for Woocommerce | 35 | 296 | 101 | 400 | Output is not escaped | ||
| #1753 | Akismet Anti-spam: Spam Protection | 35 | 33 | 99 | 5m+ | Non-prefixed global variable | ||
| #1754 | AnsPress – Question and answer | 35 | 22 | 778 | 3k+ | Non-prefixed function | ||
| #1755 | Tuskcode Map Pro for Bing Maps | 35 | 59 | 359 | 600 | Direct Query | ||
| #1756 | Aquila Admin Theme | 35 | 151 | 329 | 3k+ | Non-prefixed global variable | ||
| #1757 | Avif Express | 35 | 26 | 167 | 400 | Input is not validated | ||
| #1758 | Awin – Advertiser Tracking for WooCommerce | 35 | 46 | 39 | 1k+ | Non Singular String Literal Domain | ||
| #1759 | Before After Image Comparison Slider for WPBakery Page Builder | 35 | 58 | 59 | 1k+ | Output is not escaped | ||
| #1760 | belingoGeo | 35 | 136 | 133 | 1k+ | Output is not escaped | ||
| #1761 | Better Recent Comments | 35 | 127 | 29 | 2k+ | Text Domain Mismatch | ||
| #1762 | Block Comment Spam Bots | 35 | 31 | 17 | 800 | Output is not escaped | ||
| #1763 | Block Manager | 35 | 33 | 26 | 4k+ | Text Domain Mismatch | ||
| #1764 | Gutenberg Block Editor Toolkit – EditorsKit | 35 | 61 | 25 | 20k+ | Text Domain Mismatch | ||
| #1765 | Blocks for Eventbrite | 35 | 3 | 4 | 1k+ | Hidden files included | ||
| #1766 | Blogsqode – Blog Layouts and News Post Design | 35 | 430 | 63 | 400 | Text Domain Mismatch | ||
| #1767 | BlossomThemes Toolkit | 35 | 347 | 52 | 30k+ | Output is not escaped | ||
| #1768 | Bluehost Site Migrator | 35 | 11 | 18 | 4k+ | Missing direct file access protection | ||
| #1769 | Tooltipy (tooltips for WP) | 35 | 370 | 125 | 1k+ | Text Domain Mismatch | ||
| #1770 | BORICA Payments by BORICA AD | 35 | 537 | 196 | 500 | Text Domain Mismatch | ||
| #1771 | Wbcom Designs – BuddyPress Activity Social Share | 35 | 293 | 27 | 400 | Text Domain Mismatch | ||
| #1772 | Registration Options for BuddyPress | 35 | 47 | 132 | 1k+ | Non-prefixed function | ||
| #1773 | Brozzme DB Prefix & Tools Addons | 35 | 24 | 42 | 10k+ | Request data is not unslashed | ||
| #1774 | BTCPay Server – Accept Bitcoin payments in WooCommerce | 35 | 48 | 86 | 1k+ | Missing nonce verification | ||
| #1775 | BugHerd | 35 | 8 | 2 | 3k+ | Output is not escaped | ||
| #1776 | Business Hours Indicator | 35 | 139 | 106 | 8k+ | Alternative PHP tag found | ||
| #1777 | Buying Buddy IDX CRM – Real Estate MLS Plugin | 35 | 71 | 240 | 500 | Request data is not unslashed | ||
| #1778 | CF7 Spreadsheets | 35 | 100 | 62 | 400 | Text Domain Mismatch | ||
| #1779 | CF7 Submissions – Securely Store Contact Form 7 Data and Attachments, Reply to the Sender and more | 35 | 16 | 119 | 2k+ | Non-prefixed global variable | ||
| #1780 | Popup for CF7 with Sweet Alert | 35 | 26 | 12 | 2k+ | Text Domain Mismatch | ||
| #1781 | Change Username | 35 | 7 | 10 | 4k+ | Direct Query | ||
| #1782 | ChatHelp – Click to Chat Button, WooCommerce Chat to Order & Floating Chat Form | 35 | 31 | 188 | 1k+ | Non-prefixed global variable | ||
| #1783 | Payment Gateway Based Fees and Discounts for WooCommerce | 35 | 24 | 68 | 30k+ | Non-prefixed hook name | ||
| #1784 | Code Block Pro – Beautiful Syntax Highlighting | 35 | 7 | 4 | 10k+ | badly named files | ||
| #1785 | Code Prettify | 35 | 7 | 3 | 1k+ | wp function not compatible with requires wp | ||
| #1786 | Conditional Widgets | 35 | 67 | 33 | 7k+ | Output is not escaped | ||
| #1787 | Kit (formerly ConvertKit) for WooCommerce | 35 | 213 | 18 | 4k+ | Text Domain Mismatch | ||
| #1788 | EasyTest – Simplify A/B Testing | 35 | 9 | 76 | 10k+ | Non-prefixed global variable | ||
| #1789 | GDPR Cookie Consent Notice Box | 35 | 46 | 17 | 1k+ | Output is not escaped | ||
| #1790 | Cookies and Content Security Policy | 35 | 261 | 412 | 10k+ | Output is not escaped | ||
| #1791 | CrowdSec | 35 | 130 | 119 | 2k+ | Output is not escaped | ||
| #1792 | Cue by AudioTheme.com | 35 | 28 | 150 | 6k+ | Non-prefixed hook name | ||
| #1793 | Currency Converter | 35 | 104 | 4 | 400 | Output is not escaped | ||
| #1794 | Wbcom Designs – Custom Font Uploader | 35 | 340 | 123 | 3k+ | Text Domain Mismatch | ||
| #1795 | Custom Order Status for WooCommerce | 35 | 41 | 55 | 10k+ | Non-prefixed hook name | ||
| #1796 | Deposits & Partial Payments for WooCommerce | 35 | 174 | 144 | 5k+ | Text Domain Mismatch | ||
| #1797 | Dintero Checkout for WooCommerce Payment Methods | 35 | 58 | 48 | 600 | Text Domain Mismatch | ||
| #1798 | PiWeb Disable payment method / Partial payment for WooCommerce | 35 | 55 | 221 | 4k+ | Non-prefixed class | ||
| #1799 | Disable and Remove Google Fonts | GDPR & DSGVO friendly | 35 | 21 | 11 | 100k+ | Missing Translators Comment | ||
| #1800 | Disable XML-RPC-API | 35 | 444 | 52 | 100k+ | Text Domain Mismatch |