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 |
|---|---|---|---|---|---|---|---|---|
| #3901 | Prevent Concurrent Logins | 97 | 2 | 10 | 900 | Non-prefixed function | ||
| #3902 | Property Hive Mortgage Calculator | 97 | 12 | 2 | 800 | Text Domain Mismatch | ||
| #3903 | Relative URL | 97 | 4 | 3 | 3k+ | wp function not compatible with requires wp | ||
| #3904 | Remove Category Word From Title | 97 | 3 | 3 | 500 | Non-prefixed function | ||
| #3905 | Remove Meta Generators | 97 | 5 | 5 | 1k+ | wp function not compatible with requires wp | ||
| #3906 | Sharpen Resized Images | 97 | 4 | 3 | 1k+ | Non-prefixed hook name | ||
| #3907 | Show User ID | 97 | 4 | 3 | 800 | Non-prefixed function | ||
| #3908 | Simple SMTP | 97 | 3 | 10 | 2k+ | Non-prefixed hook name | ||
| #3909 | Simple Social Icons | 97 | 4 | 3 | 100k+ | Missing direct file access protection | ||
| #3910 | Smart Search & Product Filter for WooCommerce – Searchanise | 97 | 2 | 24 | 900 | Non-prefixed global variable | ||
| #3911 | Sopro | 97 | 4 | 4 | 500 | Non-prefixed function | ||
| #3912 | Sticky Menu & Sticky Header | 97 | 4 | 23 | 100k+ | Non-prefixed global variable | ||
| #3913 | Taxonomy List | 97 | 2 | 6 | 500 | Missing Version | ||
| #3914 | TextMe SMS | 97 | 3 | 13 | 600 | Non-prefixed global variable | ||
| #3915 | TinyMCE Clear Float | 97 | 2 | 4 | 10k+ | Missing direct file access protection | ||
| #3916 | Video Embedder | 97 | 16 | 1 | 900 | wp function not compatible with requires wp | ||
| #3917 | Ozow Gateway for WooCommerce | 97 | 2 | 10 | 800 | Non-prefixed constant | ||
| #3918 | Website Chat Button: Kommo integration | 97 | 1 | 43 | 1k+ | Non-prefixed global variable | ||
| #3919 | WN Elementor Glassy Columns | 97 | 11 | 2 | 1k+ | Text Domain Mismatch | ||
| #3920 | WPC Fly Cart for WooCommerce | 97 | 32 | 10k+ | Non-prefixed hook name | |||
| #3921 | Social Media Feed Gallery – Fetch Posts & Reels | 97 | 1 | 25 | 2k+ | Non-prefixed global variable | ||
| #3922 | WPC Product Size Chart for WooCommerce | 97 | 19 | 2k+ | Non-prefixed class | |||
| #3923 | WPC Share Cart for WooCommerce | 97 | 32 | 1k+ | Non-prefixed hook name | |||
| #3924 | Easy Spam Filter – Privacy-Friendly CAPTCHA Alternative with Turnstile for Contact Form 7, WPForms, BuddyPress, Elementor | 97 | 2 | 14 | 1k+ | Dynamic hook name | ||
| #3925 | Blocks for ACF Fields — Display Custom Fields in the Block Editor | 98 | 21 | 1k+ | Non-prefixed hook name | |||
| #3926 | Add Custom Header Images | 98 | 2 | 4 | 400 | Missing direct file access protection | ||
| #3927 | Post Category Filter (WP Admin) | 98 | 2 | 8 | 1k+ | trademarked term | ||
| #3928 | AlphaListing | 98 | 18 | 500 | Non-prefixed function | |||
| #3929 | Augmented Reality Viewer – 3D Model Viewer | 98 | 5 | 2 | 500 | wp function not compatible with requires wp | ||
| #3930 | Author Bio Box | 98 | 1 | 6 | 1k+ | Non-prefixed global variable | ||
| #3931 | Autoremove Attachments | 98 | 2 | 5 | 3k+ | Non-prefixed function | ||
| #3932 | Accordion – Responsive Horizontal & Vertical Accordion Block | 98 | 1 | 10 | 600 | Non-prefixed constant | ||
| #3933 | Call to Action Block by WPPOOL | 98 | 4 | 7 | 1k+ | trademarked term | ||
| #3934 | Clone Posts | 98 | 5 | 5 | 10k+ | Missing Arg Domain | ||
| #3935 | Counter-Hits | 98 | 4 | 2 | 1k+ | Missing direct file access protection | ||
| #3936 | Dashboard Columns | 98 | 2 | 6 | 1k+ | Non-prefixed function | ||
| #3937 | Easy Primary Category | 98 | 2 | 5 | 1k+ | Non-prefixed constant | ||
| #3938 | File Upload Types by WPForms | 98 | 2 | 9 | 30k+ | Non-prefixed function | ||
| #3939 | Find My Blocks – Locate blocks on your site | 98 | 2 | 7 | 4k+ | Non-prefixed function | ||
| #3940 | Image Picker For Gravity Forms | 98 | 21 | 1k+ | Non-prefixed global variable | |||
| #3941 | Infinity TNC Divi Modules | 98 | 2 | 5 | 900 | Non-prefixed global variable | ||
| #3942 | International Telephone Input With Flags And Dial Codes | 98 | 7 | 7 | 1k+ | badly named files | ||
| #3943 | Language Switcher – Polylang for Divi | 98 | 43 | 500 | Non-prefixed global variable | |||
| #3944 | Last Viewed Posts by WPBeginner | 98 | 3 | 4 | 500 | Missing direct file access protection | ||
| #3945 | Lordicon | 98 | 2 | 2 | 600 | Non-prefixed function | ||
| #3946 | Monster Widget | 98 | 3 | 4 | 800 | Non-prefixed hook name | ||
| #3947 | Multi Device Switcher | 98 | 2 | 9 | 20k+ | Non-prefixed function | ||
| #3948 | NIF (Num. de Contribuinte Português) for WooCommerce | 98 | 2 | 9 | 5k+ | Non-prefixed constant | ||
| #3949 | Portfolio Toolkit | 98 | 3 | 3 | 600 | Non-prefixed function | ||
| #3950 | Portugal CTT Tracking for WooCommerce | 98 | 1 | 5 | 600 | Non-prefixed function |