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 | Portugal CTT Tracking for WooCommerce | 98 | 1 | 5 | 600 | Non-prefixed function | ||
| #3902 | Post Layouts for Gutenberg | 98 | 18 | 900 | Non-prefixed class | |||
| #3903 | Product Badges For WooCommerce | 98 | 16 | 700 | Non-prefixed global variable | |||
| #3904 | QR Code Woocommerce | 98 | 22 | 15 | 1k+ | Text Domain Mismatch | ||
| #3905 | Remove & Disable XML-RPC Pingback | 98 | 2 | 6 | 8k+ | Non-prefixed function | ||
| #3906 | SAR Friendly SMTP | 98 | 2 | 11 | 2k+ | Non-prefixed function | ||
| #3907 | Second Street | 98 | 10 | 6 | 400 | Non Enqueued Script | ||
| #3908 | Security Header Generator | 98 | 1 | 11 | 500 | Non-prefixed global variable | ||
| #3909 | Seed Buddhist Year | 98 | 3 | 1 | 3k+ | Missing direct file access protection | ||
| #3910 | Semrush SEO Writing Assistant | 98 | 3 | 3 | 9k+ | Missing Arg Domain | ||
| #3911 | ShareThis Share Buttons | 98 | 29 | 10k+ | Non-prefixed global variable | |||
| #3912 | Simple Social Icons | 98 | 3 | 2 | 100k+ | Missing direct file access protection | ||
| #3913 | Product Variation Swatches for WooCommerce – Smart Swatches | 98 | 16 | 800 | Non-prefixed hook name | |||
| #3914 | Stick My Header for Astra | 98 | 2 | 3 | 800 | Non-prefixed global variable | ||
| #3915 | Wayfinder | 98 | 2 | 2 | 700 | Non-prefixed function | ||
| #3916 | Custom Add to Cart labels for WooCommerce | 98 | 3 | 5 | 5k+ | Non Singular String Literal Text | ||
| #3917 | WebFinger | 98 | 3 | 8 | 1k+ | Non-prefixed function | ||
| #3918 | Who Stole the Text Justify Button ?! | 98 | 1 | 3 | 7k+ | Non-prefixed function | ||
| #3919 | WPC Added To Cart Notification for WooCommerce | 98 | 17 | 3k+ | Non-prefixed class | |||
| #3920 | Align Woo Buttons | 98 | 3 | 6 | 3k+ | Non-prefixed function | ||
| #3921 | Table Rate Shipping for WooCommerce | 98 | 12 | 10k+ | Non-prefixed function | |||
| #3922 | Remove SKU From Single Product page | 98 | 8 | 2 | 1k+ | Text Domain Mismatch | ||
| #3923 | After Login Redirect | 98 | 1 | 21 | 1k+ | Non-prefixed global variable | ||
| #3924 | WP Category Order | 98 | 1 | 5 | 400 | trademarked term | ||
| #3925 | WP Edit Username | 98 | 1 | 14 | 2k+ | Non-prefixed hook name | ||
| #3926 | WP-PageNavi | 98 | 12 | 500k+ | Text Domain Mismatch | |||
| #3927 | WP-PostViews | 98 | 16 | 100k+ | Non-prefixed function | |||
| #3928 | WP-Stats | 98 | 24 | 2k+ | Non-prefixed function | |||
| #3929 | WPC Buy Now Button for WooCommerce | 98 | 17 | 10k+ | Non-prefixed class | |||
| #3930 | WPC Coupon Listing for WooCommerce | 98 | 18 | 1k+ | Non-prefixed class | |||
| #3931 | WPC Linked Variation for WooCommerce | 98 | 15 | 3k+ | Non-prefixed class | |||
| #3932 | WPC Name Your Price for WooCommerce | 98 | 16 | 6k+ | Non-prefixed class | |||
| #3933 | WPC Product Image Swap for WooCommerce | 98 | 15 | 1k+ | Non-prefixed class | |||
| #3934 | WPC Product Tabs for WooCommerce | 98 | 17 | 900 | Non-prefixed class | |||
| #3935 | WPC Product Videos for WooCommerce | 98 | 15 | 3k+ | Non-prefixed class | |||
| #3936 | WPC Sticky Add To Cart for WooCommerce | 98 | 17 | 2k+ | Non-prefixed class | |||
| #3937 | Add Custom Header Images | 99 | 1 | 4 | 400 | Missing direct file access protection | ||
| #3938 | Advanced GeoIP Redirect | 99 | 13 | 1k+ | Non-prefixed global variable | |||
| #3939 | Advanced Classic Editor | 99 | 1 | 1 | 2k+ | Non-prefixed function | ||
| #3940 | Block Specific Spam Woo Orders | 99 | 1 | 4 | 1k+ | Non-prefixed hook name | ||
| #3941 | Call To Action Customizable Block | 99 | 1 | 3 | 1k+ | Non-prefixed function | ||
| #3942 | Essential Widgets | 99 | 3 | 10k+ | Non-prefixed function | |||
| #3943 | Awesome FAQ – answer questions before customers ask | 99 | 7 | 1k+ | Non-prefixed class | |||
| #3944 | Fr Custom Payment Gateway Icon for WooCommerce | 99 | 2 | 1 | 2k+ | Non-prefixed function | ||
| #3945 | Generate Security.txt | 99 | 1 | 5 | 500 | Non-prefixed class | ||
| #3946 | jAlbum Bridge | 99 | 1 | 6 | 500 | Not In Footer | ||
| #3947 | RTL Localization & Fonts | 99 | 1 | 1 | 1k+ | Non-prefixed function | ||
| #3948 | Portugal States (Distritos) for WooCommerce | 99 | 7 | 5k+ | Non-prefixed function | |||
| #3949 | Shop as Client for WooCommerce – Manual, Phone & Email Orders | 99 | 5 | 600 | Non-prefixed function | |||
| #3950 | Web Stories Widgets For Elementor | 99 | 1 | 3 | 1k+ | Non-prefixed class |