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 |
|---|---|---|---|---|---|---|---|---|
| #2851 | Products Per Page for WooCommerce | 52 | 22 | 28 | 10k+ | Output is not escaped | ||
| #2852 | Bg RuTube Embed | 53 | 19 | 21 | 1k+ | Unsafe printing function | ||
| #2853 | Download PDF After Submit Form | 53 | 2 | 45 | 500 | Input is not sanitized | ||
| #2854 | FakerPress | 53 | 66 | 152 | 10k+ | Non-prefixed global variable | ||
| #2855 | File Manager | 53 | 41 | 68 | 10k+ | Missing direct file access protection | ||
| #2856 | RDFa Breadcrumb | 53 | 27 | 13 | 600 | Output is not escaped | ||
| #2857 | Simple Blog Stats | 53 | 25 | 76 | 4k+ | Non-prefixed function | ||
| #2858 | Skroutz Analytics for WooCommerce | 53 | 57 | 15 | 1k+ | Text Domain Mismatch | ||
| #2859 | Social Media Widget | 53 | 90 | 21 | 30k+ | Text Domain Mismatch | ||
| #2860 | Morning for WooCommerce | 53 | 7 | 59 | 1k+ | Non-prefixed global variable | ||
| #2861 | Ultimate Gift Cards for WooCommerce | 53 | 4 | 450 | 7k+ | Non-prefixed global variable | ||
| #2862 | WP Console – WordPress PHP Console powered by PsySH | 53 | 34 | 48 | 20k+ | Exception output is not escaped | ||
| #2863 | Peadig's Twitter Feed: Embedded Timeline WordPress Plugin | 53 | 37 | 6 | 500 | Output is not escaped | ||
| #2864 | Blockskit | 54 | 33 | 29 | 8k+ | Text Domain Mismatch | ||
| #2865 | Boostify Header Footer Builder for Elementor | 54 | 419 | 55 | 7k+ | Text Domain Mismatch | ||
| #2866 | Disqus Comment System | 54 | 17 | 33 | 40k+ | Non-prefixed hook name | ||
| #2867 | Easy Elementor Addons – Addons Pack for Elementor Page Builder | 54 | 35 | 68 | 1k+ | Post Not In exclude | ||
| #2868 | Expandable Row for Beaver Builder | 54 | 116 | 9 | 900 | Text Domain Mismatch | ||
| #2869 | Expanding Archives | 54 | 37 | 9 | 3k+ | Output is not escaped | ||
| #2870 | Extended User Search In WP-Admin | 54 | 14 | 17 | 1k+ | SQL query is not prepared | ||
| #2871 | FireCask Like & Share Button | 54 | 32 | 6 | 400 | Output is not escaped | ||
| #2872 | Helpie FAQ — Accordion, Docs & Knowledge Base | 54 | 96 | 89 | 9k+ | Nonce verification recommended | ||
| #2873 | ImageMagick Sharpen Resized Images | 54 | 22 | 6 | 1k+ | Output is not escaped | ||
| #2874 | Juiz Lang Attribute | 54 | 26 | 27 | 2k+ | Text Domain Mismatch | ||
| #2875 | Live Summary for Gravity Forms | 54 | 15 | 27 | 1k+ | Nonce verification recommended | ||
| #2876 | REST XML-RPC Data Checker | 54 | 14 | 45 | 900 | Input is not sanitized | ||
| #2877 | Russian Currency | 54 | 52 | 6 | 400 | Output is not escaped | ||
| #2878 | Simple XML Sitemap Generator | 54 | 8 | 28 | 3k+ | Non-prefixed function | ||
| #2879 | SimplyBook.me – Booking and reservations calendar | 54 | 31 | 13 | 30k+ | Exception output is not escaped | ||
| #2880 | SmartFormat feed for SmartNews | 54 | 64 | 27 | 1k+ | Missing Arg Domain | ||
| #2881 | Sp*tify Play Button for WordPress | 54 | 21 | 15 | 3k+ | Text Domain Mismatch | ||
| #2882 | WPC Order Notes for WooCommerce | 54 | 20 | 25 | 900 | Output is not escaped | ||
| #2883 | WP Social Preview | 54 | 33 | 15 | 800 | Non Singular String Literal Domain | ||
| #2884 | WebinarPress – Webinar System for WordPress | 54 | 61 | 499 | 900 | Non-prefixed global variable | ||
| #2885 | YITH Proteo Toolkit | 54 | 130 | 64 | 1k+ | Text Domain Mismatch | ||
| #2886 | Accordions | 55 | 1 | 101 | 20k+ | slow db query meta query | ||
| #2887 | Advanced Custom Order Status for WooCommerce | 55 | 44 | 33 | 500 | Text Domain Mismatch | ||
| #2888 | Quick Buy Now Button for WooCommerce | 55 | 37 | 39 | 5k+ | Output is not escaped | ||
| #2889 | Clean Archives Reloaded | 55 | 25 | 6 | 600 | Unsafe printing function | ||
| #2890 | Email Template Customizer for WooCommerce | 55 | 552 | 248 | 20k+ | Text Domain Mismatch | ||
| #2891 | Feedbucket – Website Feedback Tool | 55 | 10 | 25 | 1k+ | Input is not validated | ||
| #2892 | Gutenify – Visual Site Builder Blocks & Site Templates | 55 | 66 | 40 | 5k+ | Missing Arg Domain | ||
| #2893 | Head Meta Data | 55 | 19 | 42 | 10k+ | Non-prefixed function | ||
| #2894 | Hide Admin Menu | 55 | 18 | 27 | 20k+ | Non-prefixed function | ||
| #2895 | JetWidgets For Elementor | 55 | 99 | 279 | 10k+ | Non-prefixed global variable | ||
| #2896 | LoginPress | wp-login Custom Login Page Customizer | 55 | 125 | 308 | 200k+ | Non-prefixed function | ||
| #2897 | Marvy – Background Animations for Elementor | 55 | 63 | 34 | 4k+ | Text Domain Mismatch | ||
| #2898 | Mortgage Calculator | 55 | 98 | 16 | 4k+ | Text Domain Mismatch | ||
| #2899 | Page Animations And Transitions | 55 | 89 | 67 | 1k+ | Non Singular String Literal Domain | ||
| #2900 | Page Tagger | 55 | 30 | 10 | 2k+ | Output is not escaped |