[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$faNwmqd5CJaob9TAsrOQI3TUmv3Dy0kBxmuVlvxfxqJU":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":23,"download_link":24,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":36,"analysis":152,"fingerprints":345},"bbpress-topic-location","bbPress Topic Location","1.0.9","grosbouff","https:\u002F\u002Fprofiles.wordpress.org\u002Fgrosbouff\u002F","\u003Cp>This plugin brings topics geolocation to bbPress, and can filter topics by location and radius.\u003Cbr \u002F>\nIt has been originally developped for a classified ads forum.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Works both for frontend & backend\u003C\u002Fli>\n\u003Cli>Users can set the location of a post manually or automatically (HTML Geolocation API)\u003C\u002Fli>\n\u003Cli>Geocoding using the \u003Ca href=\"https:\u002F\u002Fnominatim.openstreetmap.org\u002F\" rel=\"nofollow ugc\">Nominatim API\u003C\u002Fa> by \u003Ca href=\"https:\u002F\u002Fwww.openstreetmap.org\u002F\" rel=\"nofollow ugc\">Open Street Maps\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Search posts by location and radius\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Demo\u003C\u002Fh4>\n\u003Cp>We don’t have a running demo anymore.  If you use this plugin and would like to be featured here, please \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgordielachance\u002Fbbpress-topic-location\u002Fissues\u002F1\" rel=\"nofollow ugc\">contact us\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Donate\u003C\u002Fh4>\n\u003Cp>Donations are needed to help maintain this plugin.  Please consider \u003Ca href=\"http:\u002F\u002Fbit.ly\u002Fgbreant\" rel=\"nofollow ugc\">supporting us\u003C\u002Fa>.\u003Cbr \u002F>\nThis would be very appreciated — Thanks !\u003C\u002Fp>\n\u003Ch4>Bugs\u002FDevelopment\u003C\u002Fh4>\n\u003Cp>For feature request and bug reports, please use the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgordielachance\u002Fbbpress-topic-location\u002Fissues\" rel=\"nofollow ugc\">Github Issues Tracker\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>If you are a plugin developer, \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgordielachance\u002Fbbpress-topic-location\" rel=\"nofollow ugc\">we would like to hear from you\u003C\u002Fa>. Any contribution would be very welcome.\u003C\u002Fp>\n","This plugin brings topics geolocation to bbPress, and can filter topics by location and radius.",10,3737,0,"2020-01-23T09:17:00.000Z","5.3.21","3.3","",[19,20,21,22],"bbpress","geocoding","geolocation","open-street-map","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbbpress-topic-location\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbbpress-topic-location.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":31,"avg_security_score":32,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},16,380,88,30,86,"2026-04-04T15:11:04.828Z",[37,58,82,106,129],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":13,"num_ratings":13,"last_updated":47,"tested_up_to":48,"requires_at_least":49,"requires_php":50,"tags":51,"homepage":55,"download_link":56,"security_score":57,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"cf-geoplugin-gps","Geo Controller GPS extension  ","2.1.4","Ivijan-Stefan Stipic","https:\u002F\u002Fprofiles.wordpress.org\u002Fivijanstefan\u002F","\u003Cp>With the Geo Controller GPS Module, users of Geo Controller can track visitors using GPS, enabling accurate location tracking for mobile visitors and resolving location errors effectively.\u003C\u002Fp>\n\u003Cp>This plugin integrates seamlessly with Geo Controller, leveraging GPS data to enhance the accuracy of geolocation tracking. By using this module, you can ensure that mobile visitors are precisely located, improving the overall functionality of your geolocation services.\u003C\u002Fp>\n\u003Ch3>Detailed Steps\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>Geo Controller Setup:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>If you haven’t already, install and activate the \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcf-geoplugin\u002F\" rel=\"ugc\">Geo Controller\u003C\u002Fa>\u003C\u002Fstrong> plugin.\u003C\u002Fli>\n\u003Cli>Purchase and activate a valid license according to your needs (Personal, Freelance, or Business).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Google API Configuration:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Log in to your Google Cloud Platform account.\u003C\u002Fli>\n\u003Cli>Navigate to the API & Services dashboard.\u003C\u002Fli>\n\u003Cli>Enable the Geocoding API.\u003C\u002Fli>\n\u003Cli>Navigate to \u003Ccode>Credentials\u003C\u002Fcode> and create a new API key.\u003C\u002Fli>\n\u003Cli>Restrict the API key to your website’s domain for added security.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Installing the GPS Module:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Download the GPS module plugin from the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcf-geoplugin-gps\u002F\" rel=\"ugc\">official repository\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>In your WordPress admin dashboard, go to \u003Ccode>Plugins > Add New\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Click \u003Ccode>Upload Plugin\u003C\u002Fcode> and choose the downloaded ZIP file.\u003C\u002Fli>\n\u003Cli>Click \u003Ccode>Install Now\u003C\u002Fcode>, and after installation, click \u003Ccode>Activate\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Automatic Operation:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>The plugin operates automatically, utilizing the Geo Controller API and Google Geocoding API.\u003C\u002Fli>\n\u003Cli>No additional settings or configurations are required.\u003C\u002Fli>\n\u003Cli>It begins providing precise GPS data immediately upon activation.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Additional Notes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>API Limits:\u003C\u002Fstrong> Ensure your Google API usage is within the free tier limits or consider upgrading to avoid disruptions.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Support:\u003C\u002Fstrong> For any issues or queries, visit our \u003Ca href=\"https:\u002F\u002Fwpgeocontroller.com\u002Fsupport\" rel=\"nofollow ugc\">support page\u003C\u002Fa> or consult the plugin documentation.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Updates:\u003C\u002Fstrong> Keep the plugin updated to the latest version for optimal performance and new features.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>By following these instructions, you can ensure the Geo Controller GPS Module is installed correctly and begins enhancing your geolocation accuracy without any hassle. Enjoy precise mobile visitor tracking with minimal effort!* \u003Ca href=\"https:\u002F\u002Fcfgeoplugin.com\u002F\" rel=\"nofollow ugc\">Geo Controller Website\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fcfgeoplugin.com\u002Fdocumentation\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fcfgeoplugin.com\u002Ffaq\u002F\" rel=\"nofollow ugc\">F.A.Q\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fcfgeoplugin.com\u002Fblog\u002F\" rel=\"nofollow ugc\">Blog\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fcfgeoplugin.com\u002Fcontact\u002F\" rel=\"nofollow ugc\">Contact or Support\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fcfgeoplugin.com\u002Fterms-and-conditions\" rel=\"nofollow ugc\">Terms and Conditions\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fcfgeoplugin.com\u002Fprivacy-policy\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>DONATION\u003C\u002Fh4>\n\u003Cp>Enjoy using \u003Cem>Geo Controller\u003C\u002Fem>? Please consider \u003Ca href=\"https:\u002F\u002Fwww.paypal.com\u002Fcgi-bin\u002Fwebscr?cmd=_donations&business=creativform@gmail.com\" rel=\"nofollow ugc\">making a small donation\u003C\u002Fa> to support the project’s continued development.\u003C\u002Fp>\n\u003Ch4>TERMS AND CONDITIONS\u003C\u002Fh4>\n\u003Cp>BY INSTALLING THIS PLUGIN WE CONSIDER THAT YOU ARE AUTOMATICALLY ACCEPT TERMS AND CONDITIONS OF OUR SERVICES AND AGREE WITH THE PRIVACY POLICY.\u003C\u002Fp>\n\u003Cp>Please read these Terms and Conditions (“Terms”, “Terms and Conditions”) carefully before using the \u003Ca href=\"https:\u002F\u002Fcfgeoplugin.com\" rel=\"nofollow ugc\">www.cfgeoplugin.com\u003C\u002Fa> website and the Geo Controller WordPress application (the “Service”) operated by Geo Controller.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fcfgeoplugin.com\u002Fterms-and-conditions\" rel=\"nofollow ugc\">Read about Terms and Conditions\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>PRIVACY POLICY\u003C\u002Fh4>\n\u003Cp>We respect your privacy and take protecting it seriously. This Privacy Policy covers our collection, use and disclosure of information we collect through our website and service, \u003Ca href=\"https:\u002F\u002Fcfgeoplugin.com\" rel=\"nofollow ugc\">www.cfgeoplugin.com\u003C\u002Fa> owned and operated by Geo Controller. It also describes the choices available to you regarding our use of your personal information and how you can access and update this information. The use of information collected through our service shall be limited to the purpose of providing the service for which our Clients have engaged us. Also we respect and take care about Europe General Data Protection Regulation (GDPR) and your freedom and private choices.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fcfgeoplugin.com\u002Fprivacy-policy\" rel=\"nofollow ugc\">Read about Privacy Policy\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>For further questions and clarifications, do not hesitate to contact us and we will reply back to you within 48 hours.\u003C\u002Fp>\n","Enable GPS lookup for the Geo Controller plugin and collect geodata from mobile visitors.",40,4984,"2026-02-01T17:44:00.000Z","6.9.4","6.0","7.0",[52,53,20,21,54],"cf-geoplugin","geo-controller","gps","http:\u002F\u002Fwpgeocontroller.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcf-geoplugin-gps.2.1.4.zip",100,{"slug":59,"name":60,"version":61,"author":62,"author_profile":63,"description":64,"short_description":65,"active_installs":66,"downloaded":67,"rating":68,"num_ratings":69,"last_updated":70,"tested_up_to":48,"requires_at_least":71,"requires_php":17,"tags":72,"homepage":77,"download_link":78,"security_score":79,"vuln_count":80,"unpatched_count":13,"last_vuln_date":81,"fetched_at":27},"one-user-avatar","One User Avatar | User Profile Picture","2.5.4","One Designs","https:\u002F\u002Fprofiles.wordpress.org\u002Fonedesigns\u002F","\u003Cp>WordPress currently only allows you to use custom avatars that are uploaded through \u003Ca href=\"http:\u002F\u002Fgravatar.com\u002F\" rel=\"nofollow ugc\">Gravatar\u003C\u002Fa>. \u003Cstrong>One User Avatar\u003C\u002Fstrong> enables you to use any photo uploaded into your Media Library as an avatar. This means you use the same uploader and library as your posts. No extra folders or image editing functions are necessary. This plugin is a fork of WP User Avatar v2.2.16.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>One User Avatar\u003C\u002Fstrong> also lets you:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Upload your own Default Avatar in your One User Avatar settings.\u003C\u002Fli>\n\u003Cli>Show the user’s \u003Ca href=\"http:\u002F\u002Fgravatar.com\u002F\" rel=\"nofollow ugc\">Gravatar\u003C\u002Fa> avatar or Default Avatar if the user doesn’t have a One User Avatar image.\u003C\u002Fli>\n\u003Cli>Disable \u003Ca href=\"http:\u002F\u002Fgravatar.com\u002F\" rel=\"nofollow ugc\">Gravatar\u003C\u002Fa> avatars and use only local avatars.\u003C\u002Fli>\n\u003Cli>Use the \u003Ccode>[avatar_upload]\u003C\u002Fcode> shortcode to add a standalone uploader to a front page or widget. This uploader is only visible to logged-in users.\u003C\u002Fli>\n\u003Cli>Use the \u003Ccode>[avatar]\u003C\u002Fcode> shortcode in your posts. These shortcodes will work with any theme, whether it has avatar support or not.\u003C\u002Fli>\n\u003Cli>Allow Contributors and Subscribers to upload their own avatars.\u003C\u002Fli>\n\u003Cli>Limit upload file size and image dimensions for Contributors and Subscribers.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Copyright\u003C\u002Fh3>\n\u003Cp>One User Avatar\u003Cbr \u002F>\nCopyright (c) 2023 One Designs https:\u002F\u002Fonedesigns.com\u002F\u003Cbr \u002F>\nLicense: GPLv2\u003Cbr \u002F>\nSource: https:\u002F\u002Fgithub.com\u002Fonedesigns\u002Fone-user-avatar\u003C\u002Fp>\n\u003Cp>One User Avatar is based on WP User Avatar v2.2.16\u003Cbr \u002F>\nCopyright (c) 2020-2021 ProfilePress https:\u002F\u002Fprofilepress.net\u002F\u003Cbr \u002F>\nCopyright (c) 2014-2020 Flippercode https:\u002F\u002Fwww.flippercode.com\u002F\u003Cbr \u002F>\nCopyright (c) 2013-2014 Bangbay Siboliban http:\u002F\u002Fbangbay.com\u002F\u003Cbr \u002F>\nLicense: GPLv2\u003Cbr \u002F>\nSource: https:\u002F\u002Fgithub.com\u002Fprofilepress\u002Fwp-user-avatar\u003C\u002Fp>\n\u003Cp>One User Avatar is distributed under the terms of the GNU GPL\u003C\u002Fp>\n\u003Cp>This program is free software: you can redistribute it and\u002For modify\u003Cbr \u002F>\nit under the terms of the GNU General Public License as published by\u003Cbr \u002F>\nthe Free Software Foundation, either version 2 of the License, or\u003Cbr \u002F>\n(at your option) any later version.\u003C\u002Fp>\n\u003Cp>This program is distributed in the hope that it will be useful,\u003Cbr \u002F>\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\u003Cbr \u002F>\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\u003Cbr \u002F>\nGNU General Public License for more details.\u003C\u002Fp>\n\u003Ch3>Advanced Settings\u003C\u002Fh3>\n\u003Ch4>Add One User Avatar to your own profile edit page\u003C\u002Fh4>\n\u003Cp>You can use the [avatar_upload] shortcode to add a standalone uploader to any page. It’s best to use this uploader by itself and without other profile fields.\u003C\u002Fp>\n\u003Cp>If you’re building your own profile edit page with other fields, One User Avatar is automatically added to the \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FPlugin_API\u002FAction_Reference\u002Fshow_user_profile\" rel=\"nofollow ugc\">show_user_profile\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FPlugin_API\u002FAction_Reference\u002Fshow_user_profile\" rel=\"nofollow ugc\">edit_user_profile\u003C\u002Fa> hooks. If you’d rather have One User Avatar in its own section, you could add another hook:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>do_action( 'edit_user_avatar', $current_user );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Then, to add One User Avatar to that hook and remove it from the other hooks outside of the administration panel, you would add this code to the \u003Ccode>functions.php\u003C\u002Fcode> file of your theme:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>function my_avatar_filter() {\n    \u002F\u002F Remove from show_user_profile hook\n    remove_action( 'show_user_profile', array( 'wp_user_avatar', 'wpua_action_show_user_profile' ) );\n    remove_action( 'show_user_profile', array( 'wp_user_avatar', 'wpua_media_upload_scripts' ) );\n\n    \u002F\u002F Remove from edit_user_profile hook\n    remove_action( 'edit_user_profile', array( 'wp_user_avatar', 'wpua_action_show_user_profile' ) );\n    remove_action( 'edit_user_profile', array( 'wp_user_avatar', 'wpua_media_upload_scripts' ) );\n\n    \u002F\u002F Add to edit_user_avatar hook\n    add_action( 'edit_user_avatar', array( 'wp_user_avatar', 'wpua_action_show_user_profile' ) );\n    add_action( 'edit_user_avatar', array( 'wp_user_avatar', 'wpua_media_upload_scripts' ) );\n}\n\n\u002F\u002F Loads only outside of administration panel\nif ( ! is_admin() ) {\n    add_action( 'init','my_avatar_filter' );\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>HTML Wrapper\u003C\u002Fh4>\n\u003Cp>You can change the HTML wrapper of the One User Avatar section by using the functions \u003Ccode>wpua_before_avatar\u003C\u002Fcode> and \u003Ccode>wpua_after_avatar\u003C\u002Fcode>. By default, the avatar code is structured like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cdiv class=\"wpua-edit-container\">\n    \u003Ch3>Avatar\u003C\u002Fh3>\n    \u003Cinput type=\"hidden\" name=\"wp-user-avatar\" id=\"wp-user-avatar\" value=\"{attachmentID}\" \u002F>\n    \u003Cp id=\"wpua-add-button\">\n        \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-add\" name=\"wpua-add\">Edit Image\u003C\u002Fbutton>\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-preview\">\n        \u003Cimg src=\"{imageURL}\" alt=\"\" \u002F>\n        Original Size\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-thumbnail\">\n        \u003Cimg src=\"{imageURL}\" alt=\"\" \u002F>\n        Thumbnail\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-remove-button\">\n        \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-remove\" name=\"wpua-remove\">Default Avatar\u003C\u002Fbutton>\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-undo-button\">\n        \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-undo\" name=\"wpua-undo\">Undo\u003C\u002Fbutton>\n    \u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>To strip out the div container and h3 heading, you would add the following filters to the \u003Ccode>functions.php\u003C\u002Fcode> file in your theme:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>remove_action( 'wpua_before_avatar', 'wpua_do_before_avatar' );\nremove_action( 'wpua_after_avatar', 'wpua_do_after_avatar' );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>To add your own wrapper, you could create something like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>function my_before_avatar() {\n    echo '\u003Cdiv id=\"my-avatar\">';\n}\nadd_action( 'wpua_before_avatar', 'my_before_avatar' );\n\nfunction my_after_avatar() {\n    echo '\u003C\u002Fdiv>';\n}\nadd_action( 'wpua_after_avatar', 'my_after_avatar' );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This would output:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cdiv id=\"my-avatar\">\n    \u003Cinput type=\"hidden\" name=\"wp-user-avatar\" id=\"wp-user-avatar\" value=\"{attachmentID}\" \u002F>\n    \u003Cp id=\"wpua-add-button\">\n        \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-add\" name=\"wpua-add\">Edit Image\u003C\u002Fbutton>\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-preview\">\n        \u003Cimg src=\"{imageURL}\" alt=\"\" \u002F>\n        \u003Cspan class=\"description\">Original Size\u003C\u002Fspan>\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-thumbnail\">\n        \u003Cimg src=\"{imageURL}\" alt=\"\" \u002F>\n        \u003Cspan class=\"description\">Thumbnail\u003C\u002Fspan>\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-remove-button\">\n        \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-remove\" name=\"wpua-remove\">Default Avatar\u003C\u002Fbutton>\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-undo-button\">\n        \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-undo\" name=\"wpua-undo\">Undo\u003C\u002Fbutton>\n    \u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Use any image from your WordPress Media Library as a custom user avatar or user profile picture. Add your own Default Avatar.",100000,490816,94,41,"2026-01-12T00:58:00.000Z","4.0",[73,19,74,75,76],"avatar","gravatar","profile","users","https:\u002F\u002Fonedesigns.com\u002Fplugins\u002Fone-user-avatar\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fone-user-avatar.2.5.4.zip",99,2,"2021-09-20 00:00:00",{"slug":83,"name":84,"version":85,"author":86,"author_profile":87,"description":88,"short_description":89,"active_installs":90,"downloaded":91,"rating":92,"num_ratings":93,"last_updated":94,"tested_up_to":48,"requires_at_least":95,"requires_php":96,"tags":97,"homepage":102,"download_link":103,"security_score":32,"vuln_count":104,"unpatched_count":13,"last_vuln_date":105,"fetched_at":27},"wp-slimstat","SlimStat Analytics","5.4.1","VeronaLabs","https:\u002F\u002Fprofiles.wordpress.org\u002Fveronalabs\u002F","\u003Cp>Track returning customers and registered users, monitor Javascript events, detect intrusions, analyze email campaigns. Thousands of WordPress sites are already using it.\u003C\u002Fp>\n\u003Ch4>Main Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Real-Time Access Log\u003C\u002Fstrong>: measure server latency, track page events, keep an eye on your bounce rate and much more.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcodes\u003C\u002Fstrong>: display reports in widgets or directly in posts and pages.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customize Reports\u003C\u002Fstrong>: Customize all pages—Real-time, Overview, Audience, Site Analysis, and Traffic Sources—to fit your needs easily!\u003C\u002Fli>\n\u003Cli>\u003Cstrong>GDPR\u003C\u002Fstrong>: fully compliant with GDPR European law. Integrates seamlessly with popular Consent Management Platforms (WP Consent API, Real Cookie Banner).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Filters\u003C\u002Fstrong>: exclude users from statistics collection based on various criteria, including user roles, common robots, IP subnets, admin pages, country, etc.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Export to Excel\u003C\u002Fstrong>: download your reports as CSV files, generate user heatmaps or get daily emails right in your mailbox (via Pro).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Cache\u003C\u002Fstrong>: compatible with W3 Total Cache, WP SuperCache, CloudFlare and most caching plugins.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Privacy\u003C\u002Fstrong>: hash IP addresses to protect your users’ privacy.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Geolocation\u003C\u002Fstrong>: identify your visitors by city and country, browser type and operating system (courtesy of \u003Ca href=\"https:\u002F\u002Fwww.maxmind.com\u002F\" rel=\"nofollow ugc\">MaxMind\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fbrowscap.org\" rel=\"nofollow ugc\">Browscap\u003C\u002Fa>).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>World Map\u003C\u002Fstrong>: see where your visitors are coming from, even on your mobile device (courtesy of \u003Ca href=\"https:\u002F\u002Fwww.ammap.com\u002F\" rel=\"nofollow ugc\">amMap\u003C\u002Fa>).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Pro Pack Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Network Analytics\u003C\u002Fstrong>: Enable a network-wide view of your reports and settings.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Email Reports\u003C\u002Fstrong>: Receive your reports directly in your mailbox.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Export to Excel\u003C\u002Fstrong>: Download your reports as CSV files.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Heatmap\u003C\u002Fstrong>: Display a heatmap layer of the most clicked areas on your website.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User Overview\u003C\u002Fstrong>: Monitor your registered users by tracking their activities and time on site.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>MaxMind Integration\u003C\u002Fstrong>: Connect to MaxMind’s Geolocation API to retrieve detailed information about your visitors.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom DB\u003C\u002Fstrong>: Use an external database to store all the information about your visitors.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Extended Overview\u003C\u002Fstrong>: Add custom columns to the User Overview widget and export file.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 5.6+\u003C\u002Fli>\n\u003Cli>PHP 7.4+\u003C\u002Fli>\n\u003Cli>MySQL 5.0.3+\u003C\u002Fli>\n\u003Cli>At least 5 MB of free web space (240 MB if you plan on using the external libraries for geolocation and browser detection)\u003C\u002Fli>\n\u003Cli>At least 10 MB of free DB space\u003C\u002Fli>\n\u003Cli>At least 32 Mb of free PHP memory for the tracker (peak memory usage)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Please note\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>If you decide to uninstall Slimstat Analytics, all the stats will be \u003Cstrong>PERMANENTLY\u003C\u002Fstrong> deleted from your database. Make sure to setup a database backup (wp_slim_*) to avoid losing your data.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Report Bugs\u003C\u002Fh4>\n\u003Cp>Having trouble with a bug? Please \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwp-slimstat\u002Fwp-slimstat\u002Fissues\u002Fnew\" rel=\"nofollow ugc\">create an issue\u003C\u002Fa> on GitHub. Kindly note that \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwp-slimstat\u002Fwp-slimstat\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa> is exclusively for bug reports; other inquiries will be closed.\u003C\u002Fp>\n\u003Cp>For security vulnerabilities, please report them through the \u003Ca href=\"https:\u002F\u002Fpatchstack.com\u002Fdatabase\u002Fwordpress\u002Fplugin\u002Fwp-slimstat\u002Fvdp\" rel=\"nofollow ugc\">Patchstack Vulnerability Disclosure Program\u003C\u002Fa>. The Patchstack team will validate, triage, and handle any security issues.\u003C\u002Fp>\n","The leading web analytics plugin for WordPress",80000,6948248,96,815,"2026-03-10T07:34:00.000Z","5.6","7.4",[98,21,99,100,101],"analytics","reports","statistics","tracking","https:\u002F\u002Fwp-slimstat.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-slimstat.5.4.1.zip",24,"2026-03-18 00:00:00",{"slug":107,"name":108,"version":109,"author":110,"author_profile":111,"description":112,"short_description":113,"active_installs":114,"downloaded":115,"rating":116,"num_ratings":117,"last_updated":118,"tested_up_to":48,"requires_at_least":95,"requires_php":119,"tags":120,"homepage":125,"download_link":126,"security_score":79,"vuln_count":127,"unpatched_count":13,"last_vuln_date":128,"fetched_at":27},"content-aware-sidebars","Content Aware Sidebars – Fastest Widget Area Plugin","3.21.3","Joachim Jensen","https:\u002F\u002Fprofiles.wordpress.org\u002Fintoxstudio\u002F","\u003Ch3>Content Aware Sidebars is the #1 WordPress Sidebar Plugin\u003C\u002Fh3>\n\u003Cp>You can optimize conversion rates, boost on-site SEO, upsell products, and much more by displaying different widget areas on different conditions.\u003C\u002Fp>\n\u003Cp>Create tailored widget areas in seconds. No widget logic coding required.\u003C\u002Fp>\n\u003Ch3>Show or Hide Widgets on Any Page (Yes, any)\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Replace your theme sidebars on different conditions\u003C\u002Fstrong>, or insert widget areas with shortcodes. The following Display Conditions are available out of the box:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Posts, Pages & Custom Post Types\u003C\u002Fli>\n\u003Cli>Content with Tags, Categories, or Custom Taxonomies\u003C\u002Fli>\n\u003Cli>Content written by select Authors\u003C\u002Fli>\n\u003Cli>Page Templates\u003C\u002Fli>\n\u003Cli>Blog Page & Post Type Archives\u003C\u002Fli>\n\u003Cli>Author Archives\u003C\u002Fli>\n\u003Cli>Taxonomy Archives\u003C\u002Fli>\n\u003Cli>Front Page, Search Results, 404 Not Found Page\u003C\u002Fli>\n\u003Cli>bbPress Profiles, Forums & Topics\u003C\u002Fli>\n\u003Cli>BuddyPress Profile Sections\u003C\u002Fli>\n\u003Cli>Languages (Polylang, qTranslate X, TranslatePress, Transposh, Weglot, WPML)\u003C\u002Fli>\n\u003Cli>Pods Pages\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>You can even combine conditions in any way you like! E.g. target all posts in a select category and written by a specific author.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch3>Add Unlimited Sidebars & Widget Areas\u003C\u002Fh3>\n\u003Cp>Create a post sidebar, a page sidebar, a category sidebar, or any custom sidebar you need – no coding required. \u003Cstrong>CAS will never slow down your site\u003C\u002Fstrong>, even if you create a lot of custom sidebars and conditions.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Sidebars – Quick Select&copy; lets you add or select widget areas directly when editing a post or page.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch3>Schedule & Disable Custom Sidebars\u003C\u002Fh3>\n\u003Cp>In the All-in-one Sidebar Manager you \u003Cstrong>just pick a start and end date\u003C\u002Fstrong> for when widget areas should be displayed, and CAS will take care of the rest.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>1-Click Sidebar Activation&copy; lets you activate or deactivate widget areas instantly.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch3>The Most User-friendly Widget Manager\u003C\u002Fh3>\n\u003Cp>When adding new widgets to sidebars, \u003Cstrong>Live Search will find widgets instantly\u003C\u002Fstrong>, and the smart split-screen makes it a joy to manage a lot of widgets and sidebars.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>The Enhanced Widget Manager adds the signature turquoise line to easily identify custom sidebars.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch3>Sidebar Plugin Integrations & Support\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>CAS autodetects Custom Post Types and Taxonomies\u003C\u002Fstrong> created by any plugin or theme. Built-in support for some of the most popular WordPress plugins means that you e.g. can create WooCommerce sidebars for select products or BuddyPress sidebars for your members.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fwordpress-sidebars\u002Fbbpress\u002F?utm_source=readme&utm_medium=referral&utm_content=integration&utm_campaign=cas\" rel=\"nofollow ugc\">bbPress\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fwordpress-sidebars\u002Fbuddypress\u002F?utm_source=readme&utm_medium=referral&utm_content=integration&utm_campaign=cas\" rel=\"nofollow ugc\">BuddyPress \u002F BuddyBoss\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fwordpress-sidebars\u002Feasy-digital-downloads\u002F?utm_source=readme&utm_medium=referral&utm_content=integration&utm_campaign=cas\" rel=\"nofollow ugc\">Easy Digital Downloads\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fwordpress-sidebars\u002Fmultilingual-plugins\u002F?utm_source=readme&utm_medium=referral&utm_content=integration&utm_campaign=cas\" rel=\"nofollow ugc\">qTranslate X\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fwordpress-sidebars\u002Fpods\u002F?utm_source=readme&utm_medium=referral&utm_content=integration&utm_campaign=cas\" rel=\"nofollow ugc\">Pods\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fwordpress-sidebars\u002Fmultilingual-plugins\u002F?utm_source=readme&utm_medium=referral&utm_content=integration&utm_campaign=cas\" rel=\"nofollow ugc\">Polylang\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fwordpress-sidebars\u002Fmultilingual-plugins\u002F?utm_source=readme&utm_medium=referral&utm_content=integration&utm_campaign=cas\" rel=\"nofollow ugc\">TranslatePress\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fwordpress-sidebars\u002Fmultilingual-plugins\u002F?utm_source=readme&utm_medium=referral&utm_content=integration&utm_campaign=cas\" rel=\"nofollow ugc\">Transposh Translation Filter\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fwordpress-sidebars\u002Fwoocommerce\u002F?utm_source=readme&utm_medium=referral&utm_content=integration&utm_campaign=cas\" rel=\"nofollow ugc\">WooCommerce\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fwordpress-sidebars\u002Fmultilingual-plugins\u002F?utm_source=readme&utm_medium=referral&utm_content=integration&utm_campaign=cas\" rel=\"nofollow ugc\">Weglot\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fwordpress-sidebars\u002Fmultilingual-plugins\u002F?utm_source=readme&utm_medium=referral&utm_content=integration&utm_campaign=cas\" rel=\"nofollow ugc\">WPML\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Customize Your Widget Areas Your Way\u003C\u002Fh3>\n\u003Cp>Without writing any code, you can \u003Cstrong>modify the HTML and CSS classes\u003C\u002Fstrong> of widget areas, widgets, and widget titles. You get full control over the look and feel of your sidebars and widget areas, no matter what theme you use.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Sidebar Visibility lets you elegantly hide any widget area for logged-out users.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch3>Complete control over your WordPress widget areas\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fwordpress-sidebars\u002F?utm_source=readme&utm_medium=referral&utm_content=title&utm_campaign=cas\" rel=\"nofollow ugc\">Upgrade to Content Aware Sidebars Pro\u003C\u002Fa>\u003C\u002Fstrong> and get these additional powerful features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Totem – Smart Floating Button\u003C\u002Fstrong>\u003Cbr \u002F>\nLike the button you may have seen by Intercom or Helpscout, only this is for all your widgets\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Sticky Sidebars & Widget Areas\u003C\u002Fstrong>\u003Cbr \u002F>\nMake any sidebar or widget area sticky without hurting site performance. No jQuery and no bloat\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Widget Areas after Paragraphs\u003C\u002Fstrong>\u003Cbr \u002F>\nDisplay a widget area after a specific number or percentage of paragraphs in your content\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Even More Display Conditions\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Advanced Custom Fields data\u003C\u002Fli>\n\u003Cli>Meta Box data\u003C\u002Fli>\n\u003Cli>URLs + wildcards\u003C\u002Fli>\n\u003Cli>Referrer URLs\u003C\u002Fli>\n\u003Cli>Date Archives & Content by publish date\u003C\u002Fli>\n\u003Cli>BuddyPress Groups\u003C\u002Fli>\n\u003Cli>Random\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Widget Area Designer\u003C\u002Fstrong>\u003Cbr \u002F>\nAdd responsive widget columns and edit colors, backgrounds, paddings, etc.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Widget Areas in Theme Hooks\u003C\u002Fstrong>\u003Cbr \u002F>\nIntelligently infuse new widget areas into your theme without coding\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic Widgets Backup\u003C\u002Fstrong>\u003Cbr \u002F>\nEasily restore any changed or deleted widgets\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Widget Cleaner\u003C\u002Fstrong>\u003Cbr \u002F>\nSave memory and remove clutter by disabling and removing unused widgets\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Extended User Visibility\u003C\u002Fstrong>\u003Cbr \u002F>\nShow or hide widget areas for User Roles, BuddyPress Groups, and more\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Time & Weekday Schedule\u003C\u002Fstrong>\u003Cbr \u002F>\nDisplay widget areas only in select time ranges on given days\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Container Widget\u003C\u002Fstrong>\u003Cbr \u002F>\nTurn widget areas into reusable blocks and show the same widgets in different places\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Duplicate Widget Areas\u003C\u002Fstrong>\u003Cbr \u002F>\nA real time-saver when adding new similar widget areas\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fwordpress-sidebars\u002Fpricing\u002F?utm_source=readme&utm_medium=referral&utm_content=more&utm_campaign=cas\" rel=\"nofollow ugc\">and so much more…\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Upgrade at anytime instantly and securely from your website’s Admin Dashboard.\u003C\u002Fp>\n\u003Ch3>More Information\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdev.institute\u002Fdocs\u002Fcontent-aware-sidebars\u002F?utm_source=readme&utm_medium=referral&utm_content=info&utm_campaign=cas\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fintoxstudio\u002Fcontent-aware-sidebars\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Fintoxstudio\" rel=\"nofollow ugc\">Twitter\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Display new sidebars on any post, page, category etc. Works with Classic Widgets, Block Widgets, and all themes!",30000,1647738,98,724,"2025-12-09T06:48:00.000Z","7.1",[19,121,122,123,124],"classic-widgets","custom-sidebars","sidebar","widget","https:\u002F\u002Fdev.institute\u002Fwordpress-sidebars\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcontent-aware-sidebars.3.21.3.zip",1,"2019-02-25 00:00:00",{"slug":130,"name":131,"version":132,"author":133,"author_profile":134,"description":135,"short_description":136,"active_installs":137,"downloaded":138,"rating":68,"num_ratings":139,"last_updated":140,"tested_up_to":141,"requires_at_least":142,"requires_php":143,"tags":144,"homepage":149,"download_link":150,"security_score":79,"vuln_count":127,"unpatched_count":13,"last_vuln_date":151,"fetched_at":27},"geoip-detect","Geolocation IP Detection","5.6.1","Benjamin Pick","https:\u002F\u002Fprofiles.wordpress.org\u002Fbenjaminpick\u002F","\u003Cp>Provides geographic information detected by an IP adress. This can be used in themes or other plugins, as a shortcode, or via CSS body classes. The city & country names are translated in different languages (\u003Ca href=\"https:\u002F\u002Fdev.maxmind.com\u002Fgeoip\u002Fgeoip2\u002Fweb-services\u002F#Languages-8\" rel=\"nofollow ugc\">supported languages\u003C\u002Fa>).\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>You can use one of these data sources (see \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fwiki\u002FFAQ#which-data-source-should-i-choose\" rel=\"nofollow ugc\">comparison\u003C\u002Fa>):\n\u003Cul>\n\u003Cli>Free (default source): \u003Ca href=\"http:\u002F\u002Fwww.hostip.info\u002F\" rel=\"nofollow ugc\">HostIP.info\u003C\u002Fa> (IPv4 only)\u003C\u002Fli>\n\u003Cli>Free with registration: \u003Ca href=\"http:\u002F\u002Fdev.maxmind.com\u002Fgeoip\u002Fgeoip2\u002Fgeolite2\u002F\" rel=\"nofollow ugc\">Maxmind GeoIP2 Lite City\u003C\u002Fa>, automatically updated weekly\u003C\u002Fli>\n\u003Cli>Commercial: \u003Ca href=\"https:\u002F\u002Fwww.maxmind.com\u002Fen\u002Fgeoip2-country-database\" rel=\"nofollow ugc\">Maxmind GeoIP2 City\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fwww.maxmind.com\u002Fen\u002Fgeoip2-city\" rel=\"nofollow ugc\">Maxmind GeoIP2 Country\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Commercial Web-API: \u003Ca href=\"https:\u002F\u002Fwww.maxmind.com\u002Fen\u002Fgeoip2-precision-services\" rel=\"nofollow ugc\">Maxmind GeoIP2 Precision\u003C\u002Fa> (City, Country or Insights)\u003C\u002Fli>\n\u003Cli>Hosting-Provider dependent: \u003Ca href=\"https:\u002F\u002Fsupport.cloudflare.com\u002Fhc\u002Fen-us\u002Farticles\u002F200168236-What-does-CloudFlare-IP-Geolocation-do-\" rel=\"nofollow ugc\">Cloudflare\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Faws\u002Fenhanced-cloudfront-customization\u002F\" rel=\"nofollow ugc\">Amazon AWS CloudFront\u003C\u002Fa> (Country)\u003C\u002Fli>\n\u003Cli>Free or Commercial Web-API: \u003Ca href=\"https:\u002F\u002Fipstack.com\" rel=\"nofollow ugc\">Ipstack\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Commercial Web-API via AWS Marketplace: \u003Ca href=\"https:\u002F\u002Faws.amazon.com\u002Fmarketplace\u002Fpp\u002Fprodview-k5gjowexrefl2\" rel=\"nofollow ugc\">Fastah\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Provides these 5 functions (see \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fwiki\u002FAPI:-PHP\" rel=\"nofollow ugc\">API Documentation\u003C\u002Fa>):\n\u003Cul>\n\u003Cli>\u003Ccode>geoip_detect2_get_info_from_ip($ip, $locales = array('en'), $options = array())\u003C\u002Fcode>: Lookup Geo-Information of the specified IP\u003C\u002Fli>\n\u003Cli>\u003Ccode>geoip_detect2_get_info_from_current_ip($locales = array('en'), $options = array())\u003C\u002Fcode>: Lookup Geo-Information of the current website user\u003C\u002Fli>\n\u003Cli>\u003Ccode>geoip_detect2_get_current_source_description(...)\u003C\u002Fcode>: Return a human-readable label of the currently chosen source.\u003C\u002Fli>\n\u003Cli>\u003Ccode>geoip_detect2_get_external_ip_adress()\u003C\u002Fcode>: Fetch the internet adress of the webserver\u003C\u002Fli>\n\u003Cli>\u003Ccode>geoip_detect2_get_client_ip()\u003C\u002Fcode>: Get client IP (even if it is behind a reverse proxy)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>For the property names, see the results of a specific IP in the wordpress backend (under \u003Cem>Tools > Geolocation IP Detection\u003C\u002Fem>).\u003C\u002Fli>\n\u003Cli>You can include these properties into your posts and pages by using the shortcode \u003Ccode>[geoip_detect2 property=\"country.name\" default=\"(country could not be detected)\" lang=\"en\"]\u003C\u002Fcode> (where ‘country.name’ can be one of the other property names as well, and ‘default’ and ‘lang’ are optional).\u003C\u002Fli>\n\u003Cli>You can show or hide content by using a shortcode \u003Ccode>[geoip_detect2_show_if country=\"FR, DE\" not_city=\"Berlin\"]TEXT[\u002Fgeoip_detect2_show_if]\u003C\u002Fcode>. See \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fwiki\u002FAPI:-Shortcodes#show-or-hide-content-depending-on-the-location\" rel=\"nofollow ugc\">Shortcode Documentation\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>When enabled on the options page, it adds CSS classes to the body tag such as \u003Ccode>geoip-province-HE\u003C\u002Fcode>, \u003Ccode>geoip-country-DE\u003C\u002Fcode> and \u003Ccode>geoip-continent-EU\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>If you are using a page cache, it is recommended to use the AJAX mode (see \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fwiki\u002FAPI:-AJAX\" rel=\"nofollow ugc\">AJAX\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>When enabled on the options page, the client IP respects a reverse proxy of the server.\u003C\u002Fli>\n\u003Cli>If you are using \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcontact-form-7\u002F\" rel=\"ugc\">Contact Form 7\u003C\u002Fa>, you can use these shortcodes:\n\u003Cul>\n\u003Cli>A select input with all countries, the detected country being selected by default: \u003Ccode>[geoip_detect2_countries mycountry]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>A text input that is pre-filled with the detected city (or other property): \u003Ccode>[geoip_detect2_text_input city property:city lang:fr id:id class:class default:Paris]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Geolocation information for the email text: \u003Ccode>[geoip_detect2_user_info]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>If you are using \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwpforms-lite\u002F\" rel=\"ugc\">WP Forms\u003C\u002Fa>, you can use this shortcode:\n\u003Cul>\n\u003Cli>Geolocation information for the email text: \u003Ccode>[geoip_detect2_user_info]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Together with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsvg-flags-lite\u002F\" rel=\"ugc\">SVG Flags\u003C\u002Fa> you can show the flag of the detected country: \u003Ccode>[geoip_detect2_current_flag]\u003C\u002Fcode> (see \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fwiki\u002FAPI:-Shortcodes#add-a-flag-of-the-visitors-country\" rel=\"nofollow ugc\">documentation\u003C\u002Fa>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>See \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fwiki\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> for more info.\u003C\u002Fp>\n\u003Ch4>How can I use these functions?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>You could choose the currency of the store based on the country name\u003C\u002Fli>\n\u003Cli>You could pre-fill the shipping country\u003C\u002Fli>\n\u003Cli>You could show the store nearest to your customer\u003C\u002Fli>\n\u003Cli>You show or hide content specific to a geographic target group\u003C\u002Fli>\n\u003Cli>Etc. … You tell me! I’m rather curious what you’ll do with this plugin!\u003C\u002Fli>\n\u003Cli>Be careful to comply to the applicable laws. For example Regulation (EU) 2018\u002F302 …\u003C\u002Fli>\n\u003Cli>If you need to get the user’s timezone, it is more accurate to use JS solutions.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>System Requirements\u003C\u002Fstrong>: You will need at least PHP 7.2.5 . Also, if you use the plugin WooCommerce, you’ll need at least WooCommerce 3.9.0 .\u003C\u002Fp>\n\u003Cp>\u003Cem>GDPR: See \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fwiki\u002FFAQ#is-this-plugin-gdpr-compliant\" rel=\"nofollow ugc\">Is this plugin GDPR-compliant?\u003C\u002Fa>\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Cem>This extension is “charity-ware”. If you are happy with it, please \u003Ca href=\"https:\u002F\u002Fwww.paypal.com\u002Fcgi-bin\u002Fwebscr?cmd=_s-xclick&hosted_button_id=BSYUZHS8FH3CL\" rel=\"nofollow ugc\">leave a tip\u003C\u002Fa> for the benefit of \u003Ca href=\"http:\u002F\u002Fwww.jmem-hainichen.de\u002Fhomepage\" rel=\"nofollow ugc\">this charity\u003C\u002Fa>. (See \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fwiki\u002FFAQ#what-you-mean-by-this-plugin-is-charity-ware\" rel=\"nofollow ugc\">FAQ\u003C\u002Fa> for more infos.)\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Cem>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md\" rel=\"nofollow ugc\">Here are other ways to contribute to the development of this plugin.\u003C\u002Fa>\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Cem>This product can provide GeoLite2 data created by MaxMind, available from http:\u002F\u002Fwww.maxmind.com.\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch3>Troubleshooting\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Does \u003Ccode>geoip_detect2_get_info_from_current_ip()\u003C\u002Fcode> return the same country, regardless of where you are visiting the site from? \u003C\u002Fli>\n\u003Cli>Maybe your server has a reverse proxy configured. You can check this: Go to the options page and look for “reverse proxy”. Are there 2 IPs listed there? If so, which one corresponds to your \u003Ca href=\"https:\u002F\u002Fwww.whatismyip.com\u002F\" rel=\"nofollow ugc\">public IP\u003C\u002Fa>?\u003C\u002Fli>\n\u003Cli>Or maybe you are using a site cache plugin. Then enable the option \u003Ccode>Disable caching a page that contains a shortcode or API call to geo-dependent functions.\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyellowtree\u002Fgeoip-detect\u002Fwiki\u002FTroubleshooting\" rel=\"nofollow ugc\">More Troubleshooting Hints\u003C\u002Fa>\u003C\u002Fp>\n","Provides geographic information detected by an IP adress.",20000,560277,59,"2025-10-29T20:59:00.000Z","6.8.5","5.0","7.2.5",[145,21,146,147,148],"geoip","ipstack","locator","maxmind","http:\u002F\u002Fwww.yellowtree.de","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgeoip-detect.5.6.1.zip","2025-09-22 00:00:00",{"attackSurface":153,"codeSignals":276,"taintFlows":331,"riskAssessment":332,"analyzedAt":344},{"hooks":154,"ajaxHandlers":264,"restRoutes":273,"shortcodes":274,"cronEvents":275,"entryPointCount":80,"unprotectedCount":80},[155,161,164,168,172,176,180,185,189,193,196,200,203,207,210,214,217,220,224,228,232,236,240,245,249,253,257,260],{"type":156,"name":157,"callback":158,"file":159,"line":160},"action","init","load_plugin_textdomain","bbpress-topic-location.php",142,{"type":156,"name":157,"callback":162,"file":159,"line":163},"register_scripts_styles",143,{"type":156,"name":165,"callback":166,"file":159,"line":167},"widgets_init","bbptl_search_widget_init",144,{"type":156,"name":169,"callback":170,"file":159,"line":171},"plugins_loaded","upgrade",145,{"type":156,"name":173,"callback":174,"file":159,"line":175},"admin_notices","https_notice",147,{"type":156,"name":177,"callback":178,"file":159,"line":179},"wp_enqueue_scripts","enqueue_scripts_styles",149,{"type":181,"name":182,"callback":183,"file":159,"line":184},"filter","query_vars","search_query_vars",156,{"type":181,"name":186,"callback":187,"priority":11,"file":159,"line":188},"posts_clauses","set_post_clauses",157,{"type":156,"name":190,"callback":191,"file":159,"line":192},"pre_get_posts","bbpress_remove_dummy_keyword",159,{"type":181,"name":190,"callback":194,"file":159,"line":195},"bbpress_filter_search_query",160,{"type":156,"name":197,"callback":198,"priority":11,"file":159,"line":199},"bbp_new_topic","frontend_save_post_geo",175,{"type":156,"name":201,"callback":198,"priority":11,"file":159,"line":202},"bbp_edit_topic",176,{"type":181,"name":204,"callback":205,"priority":11,"file":159,"line":206},"bbp_get_topic_class","post_location_class",179,{"type":181,"name":208,"callback":205,"priority":11,"file":159,"line":209},"bbp_get_reply_class",180,{"type":156,"name":211,"callback":212,"file":159,"line":213},"bbp_theme_after_reply_content","filter_bbp_post_template",183,{"type":156,"name":215,"callback":212,"file":159,"line":216},"bbp_theme_after_topic_content",184,{"type":156,"name":218,"callback":212,"file":159,"line":219},"bbp_theme_after_topic_meta",185,{"type":156,"name":221,"callback":222,"file":159,"line":223},"bbp_theme_after_topic_form_tags","post_edit_location_html",188,{"type":181,"name":225,"callback":226,"file":159,"line":227},"bbp_before_has_search_results_parse_args","bbpress_identify_search_query",192,{"type":181,"name":229,"callback":230,"file":159,"line":231},"bbp_after_has_search_results_parse_args","bbpress_add_dummy_keyword",193,{"type":156,"name":233,"callback":234,"file":159,"line":235},"bbp_template_before_search_results_loop","bbpress_message_has_results",197,{"type":156,"name":237,"callback":238,"file":159,"line":239},"bbp_template_after_search_results","bbpress_message_has_no_results",198,{"type":156,"name":241,"callback":242,"file":243,"line":244},"admin_enqueue_scripts","scripts_styles","bbptl-admin.php",17,{"type":156,"name":246,"callback":247,"file":243,"line":248},"add_meta_boxes","geodata_metabox",18,{"type":156,"name":250,"callback":251,"file":243,"line":252},"save_post","backend_save_post_geo",19,{"type":181,"name":254,"callback":255,"file":243,"line":256},"bbp_admin_get_settings_sections","add_settings_section",23,{"type":181,"name":258,"callback":259,"file":243,"line":104},"bbp_admin_get_settings_fields","register_settings_fields",{"type":181,"name":261,"callback":262,"priority":11,"file":243,"line":263},"bbp_map_settings_meta_caps","setting_add_permissions_autodelete",25,[265,270],{"action":266,"nopriv":267,"callback":268,"hasNonce":267,"hasCapCheck":267,"file":159,"line":269},"bbptl_get_geocoding",false,"get_ajax_geocoding",166,{"action":266,"nopriv":271,"callback":268,"hasNonce":267,"hasCapCheck":267,"file":159,"line":272},true,167,[],[],[],{"dangerousFunctions":277,"sqlUsage":278,"outputEscaping":280,"fileOperations":13,"externalRequests":127,"nonceChecks":13,"capabilityChecks":127,"bundledLibraries":330},[],{"prepared":13,"raw":13,"locations":279},[],{"escaped":281,"rawEcho":263,"locations":282},8,[283,286,288,290,292,293,296,298,300,302,304,306,307,309,311,312,315,318,320,321,322,325,327,328,329],{"file":159,"line":284,"context":285},481,"raw output",{"file":159,"line":287,"context":285},599,{"file":159,"line":289,"context":285},620,{"file":243,"line":291,"context":285},87,{"file":243,"line":291,"context":285},{"file":294,"line":295,"context":285},"bbptl-widgets.php",62,{"file":294,"line":297,"context":285},65,{"file":294,"line":299,"context":285},72,{"file":294,"line":301,"context":285},78,{"file":294,"line":303,"context":285},111,{"file":294,"line":305,"context":285},112,{"file":294,"line":305,"context":285},{"file":294,"line":308,"context":285},116,{"file":294,"line":310,"context":285},117,{"file":294,"line":310,"context":285},{"file":313,"line":314,"context":285},"templates\\geodata-display.php",11,{"file":316,"line":317,"context":285},"templates\\geodata-edit.php",7,{"file":316,"line":319,"context":285},12,{"file":316,"line":248,"context":285},{"file":316,"line":252,"context":285},{"file":323,"line":324,"context":285},"templates\\search-form.php",13,{"file":323,"line":326,"context":285},14,{"file":323,"line":326,"context":285},{"file":323,"line":326,"context":285},{"file":323,"line":252,"context":285},[],[],{"summary":333,"deductions":334},"The bbpress-topic-location plugin version 1.0.9 exhibits a mixed security posture. On the positive side, it utilizes prepared statements for all SQL queries and has no recorded historical vulnerabilities, suggesting a generally conscientious approach to security in its development.  However, the static analysis reveals significant concerns.  A considerable attack surface is exposed through two AJAX handlers, neither of which includes authentication checks, presenting a clear risk of unauthorized actions.  Furthermore, a low percentage of output is properly escaped, indicating potential for Cross-Site Scripting (XSS) vulnerabilities.  The presence of an external HTTP request without explicit mention of security considerations is also a minor point of attention.\n\nThe lack of taint analysis results could mean either that no flows were found or that the analysis was not comprehensive enough to detect them.  Given the identified vulnerabilities in the static analysis, the absence of taint findings should not be considered a sign of complete safety.  The plugin's history of zero vulnerabilities is a positive indicator, but it is overshadowed by the immediate risks identified in the current version's code.  The absence of nonce checks on AJAX handlers is a critical oversight that, combined with the lack of authentication, amplifies the risk.  Overall, while the plugin has a clean history, the current version has several exploitable weaknesses that require immediate attention.",[335,337,339,342],{"reason":336,"points":11},"AJAX handlers without auth checks",{"reason":338,"points":281},"Low percentage of properly escaped output",{"reason":340,"points":341},"External HTTP requests without clear security",3,{"reason":343,"points":11},"Missing nonce checks on AJAX","2026-03-17T01:30:54.347Z",{"wat":346,"direct":355},{"assetPaths":347,"generatorPatterns":350,"scriptPaths":351,"versionParams":352},[348,349],"\u002Fwp-content\u002Fplugins\u002Fbbpress-topic-location\u002Fjs\u002Fbbptl-frontend.js","\u002Fwp-content\u002Fplugins\u002Fbbpress-topic-location\u002Fcss\u002Fbbptl-frontend.css",[],[],[353,354],"bbpress-topic-location\u002Fcss\u002Fbbptl-frontend.css?ver=","bbpress-topic-location\u002Fjs\u002Fbbptl-frontend.js?ver=",{"cssClasses":356,"htmlComments":362,"htmlAttributes":366,"restEndpoints":372,"jsGlobals":373,"shortcodeOutput":375},[357,358,359,360,361],"bbptl-post-location","bbptl-topic-location","bbptl-reply-location","bbptl-edit-location-wrap","bbptl-search-widget",[363,364,365],"\u003C!-- BEGIN bbPress Topic Location -->","\u003C!-- END bbPress Topic Location -->","\u003C!-- END bbPress Topic Location Search Widget -->",[367,368,369,370,371],"data-bbptl-lat","data-bbptl-lng","data-bbptl-address","data-bbptl-map-icon","data-bbptl-map-zoom",[],[374],"bbptl_frontend_params",[376],"[bbpress-topic-location-search]"]