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 |
|---|---|---|---|---|---|---|---|---|
| #1951 | Asaas Gateway for WooCommerce | 35 | 12 | 109 | 8k+ | Non-prefixed global variable | ||
| #1952 | CardCom Payment Gateway | 35 | 201 | 84 | 3k+ | Text Domain Mismatch | ||
| #1953 | WP Courseware for WooCommerce | 35 | 55 | 49 | 1k+ | Text Domain Mismatch | ||
| #1954 | Custom Payment Gateways for WooCommerce | 35 | 202 | 31 | 3k+ | Non Singular String Literal Domain | ||
| #1955 | Require Login for WooCommerce | 35 | 10 | 6 | 2k+ | wp function not compatible with requires wp | ||
| #1956 | Title Limit for WooCommerce | 35 | 41 | 12 | 4k+ | Output is not escaped | ||
| #1957 | Abandoned Cart Lite for WooCommerce | 35 | 84 | 161 | 20k+ | Non-prefixed global variable | ||
| #1958 | Checkout Terms Conditions Popup for WooCommerce | 35 | 76 | 30 | 1k+ | Output is not escaped | ||
| #1959 | Japanized for WooCommerce | 35 | 6 | 68 | 10k+ | Non-prefixed class | ||
| #1960 | Pixel Manager for WooCommerce – Conversion Tracking, Google Ads, GA4, TikTok, Dynamic Remarketing | 35 | 50 | 236 | 50k+ | Non-prefixed hook name | ||
| #1961 | Invoices for WooCommerce | 35 | 55 | 168 | 10k+ | Non-prefixed global variable | ||
| #1962 | PDF Invoices & Packing Slips for WooCommerce | 35 | 35 | 966 | 300k+ | Non-prefixed hook name | ||
| #1963 | Product Tabs for WooCommerce | 35 | 196 | 100 | 10k+ | Text Domain Mismatch | ||
| #1964 | Brevo for WooCommerce | 35 | 116 | 67 | 30k+ | Output is not escaped | ||
| #1965 | Stock Manager for WooCommerce | 35 | 5 | 45 | 20k+ | Non-prefixed global variable | ||
| #1966 | Easy Accept Payments via PayPal | 35 | 322 | 128 | 7k+ | Text Domain Mismatch | ||
| #1967 | Access Areas for WordPress | 35 | 17 | 95 | 400 | Direct Query | ||
| #1968 | WP API Menus | 35 | 12 | 9 | 2k+ | wp function not compatible with requires wp | ||
| #1969 | Bitly's WordPress Plugin | 35 | 6 | 23 | 2k+ | Non-prefixed function | ||
| #1970 | Category Dropdown by GCS Design | 35 | 93 | 52 | 1k+ | Output is not escaped | ||
| #1971 | WP Change Email Sender | 35 | 5 | 13 | 10k+ | Non-prefixed namespace | ||
| #1972 | WP Compiler | 35 | 33 | 20 | 1k+ | Output is not escaped | ||
| #1973 | Custom Body Class | 35 | 39 | 101 | 10k+ | Non-prefixed global variable | ||
| #1974 | WP Dark Mode – Improve Accessibility with AI Powered Dark Theme | 35 | 20 | 160 | 20k+ | Non-prefixed global variable | ||
| #1975 | WP Datepicker | 35 | 225 | 181 | 7k+ | Output is not escaped | ||
| #1976 | WP Geo | 35 | 180 | 84 | 900 | Output is not escaped | ||
| #1977 | WP GPX Maps | 35 | 27 | 100 | 4k+ | Non-prefixed global variable | ||
| #1978 | WPGraphQL | 35 | 10 | 86 | 30k+ | Non-prefixed hook name | ||
| #1979 | WP Hydra | 35 | 10 | 18 | 1k+ | Input is not sanitized | ||
| #1980 | WP Mailto Links – Protect Email Addresses | 35 | 95 | 69 | 8k+ | Output is not escaped | ||
| #1981 | WP-Markdown | 35 | 31 | 39 | 400 | Output is not escaped | ||
| #1982 | WP-PageNavi | 35 | 84 | 95 | 500k+ | Non Singular String Literal Domain | ||
| #1983 | WP Post Nav | 35 | 73 | 242 | 400 | Non-prefixed global variable | ||
| #1984 | WP-PostViews | 35 | 132 | 64 | 100k+ | Unsafe printing function | ||
| #1985 | WP-Print | 35 | 110 | 52 | 8k+ | Unsafe printing function | ||
| #1986 | WP All Import – Property Import for WP Residence | 35 | 41 | 32 | 700 | Output is not escaped | ||
| #1987 | video carousel slider with lightbox | 35 | 350 | 136 | 1k+ | Output is not escaped | ||
| #1988 | Subresource Integrity (SRI) Manager | 35 | 26 | 94 | 900 | Request data is not unslashed | ||
| #1989 | WPC Badge Management for WooCommerce | 35 | 13 | 81 | 2k+ | Missing nonce verification | ||
| #1990 | WPCore Plugin Manager | 35 | 118 | 38 | 9k+ | Text Domain Mismatch | ||
| #1991 | WP Views Counter | 35 | 81 | 42 | 2k+ | Output is not escaped | ||
| #1992 | WPGraphQL for ACF | 35 | 6 | 18 | 10k+ | Output is not escaped | ||
| #1993 | WPGraphQL IDE | 35 | 38 | 18 | 1k+ | Text Domain Mismatch | ||
| #1994 | wpLingua – Automatic translation – Translate and make website multilingual | 35 | 79 | 167 | 2k+ | Nonce verification recommended | ||
| #1995 | WPPerformanceTester | 35 | 94 | 44 | 1k+ | Output is not escaped | ||
| #1996 | WPZOOM Portfolio Lite – Filterable Portfolio Plugin | 35 | 42 | 92 | 20k+ | Non-prefixed global variable | ||
| #1997 | xili-tidy-tags | 35 | 224 | 157 | 1k+ | Output is not escaped | ||
| #1998 | XServer Migrator | 35 | 39 | 53 | 10k+ | Interpolated SQL is not prepared | ||
| #1999 | TypeSquare Webfonts for エックスサーバー | 35 | 183 | 98 | 100k+ | Missing Arg Domain | ||
| #2000 | XT Event Widget for Social Events | 35 | 3 | 55 | 800 | Non-prefixed global variable |