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 |
|---|---|---|---|---|---|---|---|---|
| #1851 | Lead Call Buttons | 35 | 113 | 81 | 5k+ | Output is not escaped | ||
| #1852 | Topic Progression Using Storyline/Captivate for LearnDash | 35 | 382 | 25 | 400 | Text Domain Mismatch | ||
| #1853 | Lenix scss compiler | 35 | 133 | 34 | 800 | Exception output is not escaped | ||
| #1854 | Listamester | 35 | 17 | 16 | 600 | Output is not escaped | ||
| #1855 | LiteSpeed Cache | 35 | 286 | 893 | 7m+ | Non-prefixed global variable | ||
| #1856 | Magical Addons For Elementor ( Header Footer Builder, Free Elementor Widgets, Elementor Templates Library ) | 35 | 266 | 127 | 5k+ | Output is not escaped | ||
| #1857 | Mail Queue | 35 | 25 | 103 | 1k+ | Nonce verification recommended | ||
| #1858 | Maintenance Switch | 35 | 12 | 59 | 600 | Non-prefixed function | ||
| #1859 | Mark Posts | 35 | 30 | 34 | 1k+ | Output is not escaped | ||
| #1860 | Marquee image crawler | 35 | 168 | 136 | 700 | Non-prefixed global variable | ||
| #1861 | Mechanic Visitor Counter | 35 | 240 | 66 | 7k+ | Output is not escaped | ||
| #1862 | SAML IDP (Identity Provider) – Login with Website Users | 35 | 13 | 326 | 600 | Non-prefixed global variable | ||
| #1863 | MONEI Payments for WooCommerce | 35 | 15 | 65 | 500 | Non-prefixed hook name | ||
| #1864 | AI Product Search for WooCommerce – Motive Commerce Search | 35 | 70 | 82 | 400 | Missing direct file access protection | ||
| #1865 | MotoPress Hotel Booking Styles & Templates | 35 | 37 | 19 | 10k+ | block api version too low | ||
| #1866 | NGG Smart Image Search | 35 | 298 | 155 | 400 | Output is not escaped | ||
| #1867 | Email Marketing for WooCommerce by Omnisend | 35 | 12 | 21 | 40k+ | Non-prefixed function | ||
| #1868 | One Page Express Companion | 35 | 132 | 65 | 10k+ | Output is not escaped | ||
| #1869 | Plugin Ongkos Kirim JNE Tiki Sicepat Wahana J&T POS for Woocommerce | 35 | 117 | 144 | 2k+ | Output is not escaped | ||
| #1870 | OPcache Manager | 35 | 155 | 75 | 1k+ | Output is not escaped | ||
| #1871 | OPcache Reset | 35 | 9 | 7 | 400 | Non-prefixed function | ||
| #1872 | OT Flatsome Vertical Menu | 35 | 126 | 26 | 10k+ | Text Domain Mismatch | ||
| #1873 | Page Optimize | 35 | 70 | 41 | 200k+ | Non Singular String Literal Domain | ||
| #1874 | Page Visits Counter – Lite | 35 | 28 | 35 | 5k+ | Output is not escaped | ||
| #1875 | Paybox WooCommerce Payment Gateway | 35 | 165 | 88 | 500 | Non Singular String Literal Domain | ||
| #1876 | Pearl – Header Builder | 35 | 7 | 283 | 5k+ | Non-prefixed global variable | ||
| #1877 | Perfecty Push Notifications | 35 | 204 | 213 | 4k+ | SQL query is not prepared | ||
| #1878 | Pie Calendar – Events Calendar Made Simple | 35 | 83 | 53 | 1k+ | Text Domain Mismatch | ||
| #1879 | Planyo online reservation system | 35 | 64 | 90 | 400 | Output is not escaped | ||
| #1880 | Poptin – Email Marketing Automation, Newsletter & Exit Pop Ups, Email Popups | 35 | 168 | 29 | 20k+ | Output is not escaped | ||
| #1881 | Popular Posts | 35 | 166 | 71 | 900 | Unsafe printing function | ||
| #1882 | Post Draft Preview | 35 | 49 | 69 | 700 | Text Domain Mismatch | ||
| #1883 | Posts Table with Search & Sort | 35 | 143 | 33 | 3k+ | Text Domain Mismatch | ||
| #1884 | PowerPack Addons for Elementor (Free Widgets, Extensions and Templates) | 35 | 6 | 56 | 80k+ | Post Not In exclude | ||
| #1885 | Presto Player | 35 | 37 | 78 | 100k+ | Missing Arg Domain | ||
| #1886 | Product Blocks for WooCommerce | 35 | 4 | 3 | 4k+ | slow db query tax query | ||
| #1887 | Product Delivery Date for WooCommerce – Lite | 35 | 171 | 27 | 1k+ | Text Domain Mismatch | ||
| #1888 | Product Input Fields for WooCommerce | 35 | 18 | 84 | 4k+ | Non-prefixed function | ||
| #1889 | Pronamic Client | 35 | 111 | 48 | 700 | Output is not escaped | ||
| #1890 | Publitio | 35 | 47 | 26 | 400 | curl curl setopt | ||
| #1891 | Push Notifications by LaraPush | 35 | 32 | 76 | 5k+ | Non-prefixed global variable | ||
| #1892 | QuickWebP – Compress / Optimize Images & Convert WebP | SEO Friendly | 35 | 225 | 110 | 8k+ | Non Singular String Literal Domain | ||
| #1893 | Quran multilanguage Text & Audio | 35 | 177 | 166 | 500 | Output is not escaped | ||
| #1894 | Flutterwave WooCommerce | 35 | 7 | 20 | 2k+ | Non-prefixed class | ||
| #1895 | ReactPress – Create React App for WordPress | 35 | 26 | 43 | 3k+ | Request data is not unslashed | ||
| #1896 | Related Posts by Taxonomy | 35 | 131 | 97 | 10k+ | Output is not escaped | ||
| #1897 | ReOrder Posts within Categories | 35 | 39 | 207 | 7k+ | Non-prefixed global variable | ||
| #1898 | WP Responsive Tabs horizontal vertical and accordion Tabs | 35 | 598 | 212 | 2k+ | Output is not escaped | ||
| #1899 | Restrict Elementor Widgets, Columns and Sections | 35 | 18 | 53 | 500 | Non-prefixed function | ||
| #1900 | RICG Responsive Images | 35 | 29 | 25 | 2k+ | wp function not compatible with requires wp |