[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fUSVsObV2X5vgIMygR3dlD6ABPrBZDvbCpLMdS5_l4Sw":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":13,"download_link":23,"security_score":24,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":26,"vulnerabilities":27,"developer":28,"crawl_stats":25,"alternatives":35,"analysis":138,"fingerprints":265},"dm-visitor-location-notification","DM Visitor Location Notification","1.0.0","George-Paul Crețu","https:\u002F\u002Fprofiles.wordpress.org\u002Fnecroob\u002F","\u003Cp>The plugin uses \u003Cstrong>ipstack.com\u003C\u002Fstrong> to get visitors details based on IP.\u003Cbr \u002F>\n\u003Cem>You will need an API key from ipstack.com in order for it to work.\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>After activation you can use the shortcode \u003Ccode>[dm-vln-notification]\u003C\u002Fcode> on the page where you want to show the notifications.\u003C\u002Fp>\n\u003Cp>Potential usage for:\u003Cbr \u002F>\n– podcast sites\u003Cbr \u002F>\n– video libraries\u003Cbr \u002F>\n– shops\u003Cbr \u002F>\n– publications\u003C\u002Fp>\n\u003Cp>Using this shortcode on your site will allow other visitors to get a sense of the engagement your pages get.\u003C\u002Fp>\n\u003Ch4>Shortcodes\u003C\u002Fh4>\n\u003Cp>Two shortcodes are available for use:\u003Cbr \u002F>\n– \u003Ccode>[dm-vln-notification]\u003C\u002Fcode> – this one will check the visitor details, create\u002Fupdate the records and show the notification message.\u003Cbr \u002F>\n– \u003Ccode>[dm-vln-top-countries]\u003C\u002Fcode> – this one will show the top 10 countries that visited the page (only unique IPs will be counted).\u003C\u002Fp>\n\u003Cp>The \u003Ccode>[dm-vln-top-countries]\u003C\u002Fcode> can’t provide correct data if \u003Ccode>[dm-vln-notification]\u003C\u002Fcode> was not added to that page at one point.\u003Cbr \u002F>\nSince \u003Ccode>[dm-vln-notification]\u003C\u002Fcode> does the whole operation regarding visitor data display, save and update.\u003C\u002Fp>\n\u003Ch4>Settings\u003C\u002Fh4>\n\u003Cp>Dashboard page provides you with a number of options:\u003Cbr \u002F>\n– Adding API Key\u003Cbr \u002F>\n– Choose the position of the notification\u003Cbr \u002F>\n– Style the color scheme for the notification\u003Cbr \u002F>\n– Add Custom notification message for single and multiple users\u003Cbr \u002F>\n– Adjust the Notification display time\u003Cbr \u002F>\n– Adjust the Frequency of the Ajax call\u003Cbr \u002F>\n– Set the seconds for with to check the DB (based on NOW – seconds we decide what users are new\u002Fonline)\u003Cbr \u002F>\n– Pause the API Request\u003Cbr \u002F>\n– Select a date and delete DB records previous to that\u003C\u002Fp>\n\u003Ch4>Custom notification message\u003C\u002Fh4>\n\u003Cp>Custom notification messages can be adjusted using dynamic variables.\u003Cbr \u002F>\nFor Single visitor you have:\u003Cbr \u002F>\n– \u003Ccode>%dm_vln_country%\u003C\u002Fcode> – displays the country with the flag\u003Cbr \u002F>\n– \u003Ccode>%dm_vln_city%\u003C\u002Fcode> – displays the city (it is not 100% accurate).\u003C\u002Fp>\n\u003Cp>For Multiple visitors you have:\u003Cbr \u002F>\n– \u003Ccode>%dm_vln_visitor_number%\u003C\u002Fcode> – shows the number of visitors\u003Cbr \u002F>\n– \u003Ccode>%dm_vln_countries%\u003C\u002Fcode> – displays list of country codes\u003Cbr \u002F>\n– \u003Ccode>%dm_vln_flags%\u003C\u002Fcode> – displays list of flags instead of country codes\u003Cbr \u002F>\n– \u003Ccode>%dm_vln_country_flags%\u003C\u002Fcode> – displays list of country codes associated with the flag.\u003C\u002Fp>\n\u003Cp>You should only use one of the \u003Ccode>%dm_vln_countries%\u003C\u002Fcode>, \u003Ccode>%dm_vln_flags%\u003C\u002Fcode>, \u003Ccode>%dm_vln_country_flags%\u003C\u002Fcode> or it will show you duplicate data.\u003C\u002Fp>\n\u003Cp>In all custom message you can use HTML tags.\u003C\u002Fp>\n","DM VLN allows you to display notifications when new visitors access the page with location details and stats with top 10 countries for that page.",0,1029,"","5.4.19","5.0","7.2",[18,19,20,21,22],"country","geoip","geolocation","notification","visits","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdm-visitor-location-notification.zip",100,null,"2026-03-15T10:48:56.248Z",[],{"slug":29,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":31,"avg_security_score":24,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},"necroob",2,600,30,94,"2026-04-04T14:06:42.981Z",[36,56,78,98,118],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":11,"downloaded":44,"rating":24,"num_ratings":45,"last_updated":46,"tested_up_to":47,"requires_at_least":48,"requires_php":49,"tags":50,"homepage":13,"download_link":54,"security_score":24,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":55},"geoip-content-switcher","GeoIP Content Switcher","1.0.5","RAJ PATHAK","https:\u002F\u002Fprofiles.wordpress.org\u002Fpathakhrkinc\u002F","\u003Cp>GeoIP Content Switcher is a professional WordPress plugin that automatically detects your visitor’s country and dynamically switches content, payments, shipping methods, and products accordingly. Perfect for international WooCommerce stores and multi-country websites.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Automatic Country Detection\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>MaxMind GeoLite2 Database integration\u003C\u002Fli>\n\u003Cli>Cloudflare CF-IPCountry header support\u003C\u002Fli>\n\u003Cli>Session caching for optimal performance\u003C\u002Fli>\n\u003Cli>Accurate IP-based geolocation\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Subdomain Redirection\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Automatic redirect to country-specific subdomains\u003C\u002Fli>\n\u003Cli>Example: US visitors \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> us.yoursite.com\u003C\u002Fli>\n\u003Cli>Geo-lock option to prevent manual country switching\u003C\u002Fli>\n\u003Cli>Seamless cross-subdomain session management\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>WooCommerce Integration\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Filter payment gateways by country\u003C\u002Fli>\n\u003Cli>Filter shipping methods by country\u003C\u002Fli>\n\u003Cli>Hide products or categories by country\u003C\u002Fli>\n\u003Cli>Full WooCommerce HPOS compatibility\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Content Switching\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Country-specific homepage\u003C\u002Fli>\n\u003Cli>Custom header content per country\u003C\u002Fli>\n\u003Cli>Custom footer content per country\u003C\u002Fli>\n\u003Cli>Full Elementor and page builder support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Performance Optimized\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Session caching with configurable duration\u003C\u002Fli>\n\u003Cli>Cloudflare integration\u003C\u002Fli>\n\u003Cli>Compatible with WP Rocket, LiteSpeed Cache, W3 Total Cache\u003C\u002Fli>\n\u003Cli>Minimal server resource usage\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Security Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Database files protected from direct access\u003C\u002Fli>\n\u003Cli>Input sanitization and validation\u003C\u002Fli>\n\u003Cli>Nonce verification for all forms\u003C\u002Fli>\n\u003Cli>Capability checks for admin functions\u003C\u002Fli>\n\u003Cli>Secure session handling\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Developer Friendly\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Clean, well-documented code\u003C\u002Fli>\n\u003Cli>Shortcodes for displaying country info\u003C\u002Fli>\n\u003Cli>Hooks and filters for customization\u003C\u002Fli>\n\u003Cli>PSR-4 autoloading\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Shortcodes\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>[geoip_country]\u003C\u002Fcode> – Display visitor’s country name\u003C\u002Fli>\n\u003Cli>\u003Ccode>[geoip_country format=\"code\"]\u003C\u002Fcode> – Display country code (e.g., US, UK, IN)\u003C\u002Fli>\n\u003Cli>\u003Ccode>[geoip_ip]\u003C\u002Fcode> – Display visitor’s IP address\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 5.8 or higher\u003C\u002Fli>\n\u003Cli>PHP 7.4 or higher (compatible with PHP 8.0, 8.1, 8.2, 8.3)\u003C\u002Fli>\n\u003Cli>WooCommerce 5.0 or higher (optional, for e-commerce features)\u003C\u002Fli>\n\u003Cli>MaxMind GeoLite2 Country Database (free download)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Use Cases\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>International e-commerce stores\u003C\u002Fli>\n\u003Cli>Multi-country business websites\u003C\u002Fli>\n\u003Cli>Region-specific content delivery\u003C\u002Fli>\n\u003Cli>Localized payment and shipping options\u003C\u002Fli>\n\u003Cli>Country-based product catalogs\u003C\u002Fli>\n\u003Cli>Geo-targeted marketing campaigns\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Compatibility\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Themes:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Woodmart (fully tested)\u003Cbr \u002F>\n* Astra\u003Cbr \u002F>\n* Divi\u003Cbr \u002F>\n* Elementor\u003Cbr \u002F>\n* Any WordPress theme\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Cache Plugins:\u003C\u002Fstrong>\u003Cbr \u002F>\n* WP Rocket\u003Cbr \u002F>\n* LiteSpeed Cache\u003Cbr \u002F>\n* W3 Total Cache\u003Cbr \u002F>\n* WP Super Cache\u003Cbr \u002F>\n* Cloudflare\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Page Builders:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Elementor\u003Cbr \u002F>\n* WPBakery\u003Cbr \u002F>\n* Beaver Builder\u003Cbr \u002F>\n* Divi Builder\u003C\u002Fp>\n\u003Ch3>Additional Information\u003C\u002Fh3>\n\u003Ch4>About MaxMind GeoLite2\u003C\u002Fh4>\n\u003Cp>This plugin uses the free GeoLite2 database created by MaxMind, available from https:\u002F\u002Fwww.maxmind.com. The database provides country-level IP geolocation data.\u003C\u002Fp>\n\u003Ch4>Privacy Policy\u003C\u002Fh4>\n\u003Cp>This plugin:\u003Cbr \u002F>\n* Detects visitor country using IP address\u003Cbr \u002F>\n* Stores only country code in PHP sessions (temporary)\u003Cbr \u002F>\n* Does not store IP addresses in the database\u003Cbr \u002F>\n* Does not share data with third parties\u003Cbr \u002F>\n* Does not use tracking cookies\u003C\u002Fp>\n\u003Ch4>Credits\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>MaxMind GeoLite2: https:\u002F\u002Fwww.maxmind.com\u002F\u003C\u002Fli>\n\u003Cli>GeoIP2 PHP Library: https:\u002F\u002Fgithub.com\u002Fmaxmind\u002FGeoIP2-php\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Developer\u003C\u002Fh4>\n\u003Cp>Developed by RAJ PATHAK\u003Cbr \u002F>\nEmail: Rajpathak.er@gmail.com\u003C\u002Fp>\n\u003Ch4>Support the Plugin\u003C\u002Fh4>\n\u003Cp>If you find this plugin helpful, please:\u003Cbr \u002F>\n* Rate it 5 stars on WordPress.org\u003Cbr \u002F>\n* Share it with others who might need it\u003Cbr \u002F>\n* Report bugs or suggest features in the support forum\u003C\u002Fp>\n\u003Ch3>Technical Details\u003C\u002Fh3>\n\u003Ch4>System Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 5.8+\u003C\u002Fli>\n\u003Cli>PHP 7.4+ (8.0, 8.1, 8.2, 8.3 supported)\u003C\u002Fli>\n\u003Cli>MySQL 5.6+ or MariaDB 10.0+\u003C\u002Fli>\n\u003Cli>WooCommerce 5.0+ (optional)\u003C\u002Fli>\n\u003Cli>MaxMind GeoLite2 Country Database\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>File Structure\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>\u002Fincludes\u002F\u003C\u002Fcode> – Core plugin classes\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fassets\u002F\u003C\u002Fcode> – CSS and JavaScript files\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fdatabase\u002F\u003C\u002Fcode> – MaxMind database location\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fvendor\u002F\u003C\u002Fcode> – Composer dependencies\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Flanguages\u002F\u003C\u002Fcode> – Translation files\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Hooks and Filters\u003C\u002Fh4>\n\u003Cp>Developers can extend the plugin using WordPress hooks and filters. Documentation available in the code comments.\u003C\u002Fp>\n\u003Ch4>License\u003C\u002Fh4>\n\u003Cp>This plugin is licensed under the GPL v2 or later.\u003C\u002Fp>\n\u003Cp>This program is free software; you can redistribute it and\u002For modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\u003C\u002Fp>\n\u003Cp>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\u003C\u002Fp>\n\u003Cp>You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\u003C\u002Fp>\n","Automatically switches content, payments, shipping, and products based on visitor's country using GeoIP detection.",167,1,"2026-02-12T19:06:00.000Z","6.9.4","5.8","7.4",[51,52,19,20,53],"content-switcher","country-detection","woocommerce","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgeoip-content-switcher.1.0.5.zip","2026-03-15T15:16:48.613Z",{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":64,"downloaded":65,"rating":33,"num_ratings":66,"last_updated":67,"tested_up_to":68,"requires_at_least":15,"requires_php":69,"tags":70,"homepage":74,"download_link":75,"security_score":76,"vuln_count":45,"unpatched_count":11,"last_vuln_date":77,"fetched_at":55},"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","7.2.5",[19,20,71,72,73],"ipstack","locator","maxmind","http:\u002F\u002Fwww.yellowtree.de","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgeoip-detect.5.6.1.zip",99,"2025-09-22 00:00:00",{"slug":79,"name":80,"version":81,"author":82,"author_profile":83,"description":84,"short_description":85,"active_installs":64,"downloaded":86,"rating":87,"num_ratings":88,"last_updated":89,"tested_up_to":47,"requires_at_least":90,"requires_php":91,"tags":92,"homepage":96,"download_link":97,"security_score":24,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":55},"woocommerce-product-price-based-on-countries","Price Based on Country for WooCommerce","4.2.2","Oscar Gare","https:\u002F\u002Fprofiles.wordpress.org\u002Foscargare\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.pricebasedcountry.com\u002Fdocs\u002F?utm_medium=banner&utm_campaign=upgrade-pro&utm_source=wordpress\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwww.pricebasedcountry.com\u002Fpricing\u002F?utm_medium=banner&utm_campaign=upgrade-pro&utm_source=wordpress\" rel=\"nofollow ugc\">Upgrade to Pro\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.pricebasedcountry.com\u002F?utm_medium=banner&utm_campaign=upgrade-pro&utm_source=wordpress\" rel=\"nofollow ugc\">Price Based on Country for WooCommerce\u003C\u002Fa> allows you to define country-specific prices for your WooCommerce products, either in a single currency or across multiple currencies.\u003C\u002Fp>\n\u003Cp>The plugin is designed for stores that sell internationally and need greater control over how prices are presented to customers across regions. You can adapt your pricing strategy to reflect local markets and currencies.\u003C\u002Fp>\n\u003Ch3>KEY FEATURES\u003C\u002Fh3>\n\u003Cp>The core plugin is 100% free. It provides all functionality needed to sell internationally with localized pricing.\u003C\u002Fp>\n\u003Cp>✔️ \u003Cstrong>Multi-Currency\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Add multi-currency support to WooCommerce to enable selling products in multiple currencies and reduce checkout friction.\u003C\u002Fp>\n\u003Cp>✔️ \u003Cstrong>Geolocation\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The plugin detects the country of the website visitor automatically through the geolocation feature included in WooCommerce and displays the price and currency you have defined previously for this country. Compatible with cache plugins.\u003C\u002Fp>\n\u003Cp>✔️  \u003Cstrong>Manual Fixed Price\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Leave the price to be calculated using the exchange rate, or set a fixed price manually for each country or region.\u003C\u002Fp>\n\u003Cp>✔️  \u003Cstrong>Country Switcher Widget\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Add a country switcher to your store to let users manually change their country.\u003C\u002Fp>\n\u003Cp>✔️  \u003Cstrong>Multilingual Ready\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Compatible with WPML and Polylang workflows (sync data between product translations).\u003C\u002Fp>\n\u003Ch3>How It Works\u003C\u002Fh3>\n\u003Cp>Prices are organized into pricing zones, each one associated with one or more countries. For each zone, you can choose a currency.\u003C\u002Fp>\n\u003Cp>You may rely on automatic currency conversion using exchange rates, or define fixed prices manually for full control.\u003C\u002Fp>\n\u003Cp>Once configured, prices are displayed dynamically based on the customer’s country, while remaining compatible with caching and performance plugins.\u003C\u002Fp>\n\u003Ch3>Use Cases\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Boost international sales\u003C\u002Fstrong> – Display price in local currency to reduce checkout friction and cart abandonment.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Regional strategy\u003C\u002Fstrong> – Adjust prices based on regional purchasing power.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Absorb shipping costs\u003C\u002Fstrong> – Set higher prices for countries with expensive shipping without scaring away local customers.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Keeping profit\u003C\u002Fstrong> – Maintain consistent margins across international markets.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Price Based on Country PRO\u003C\u002Fh3>\n\u003Cp>The \u003Ca href=\"https:\u002F\u002Fwww.pricebasedcountry.com\u002Fpricing\u002F?utm_medium=banner&utm_campaign=upgrade-pro&utm_source=wordpress\" rel=\"nofollow ugc\">PRO version\u003C\u002Fa> extends the core functionality with features that save time, automate tasks, and provide integration with professional plugins.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Automatic Exchange Rate Updates\u003C\u002Fstrong> – The daily automatic update of the exchange rate allows prices to stay in sync without manual intervention.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Pretty prices\u003C\u002Fstrong> – Converted prices can be rounded to clean values, helping maintain a professional appearance across currencies (e.g., 19.99 instead of 19.43).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Currency Symbol\u003C\u002Fstrong> – Display the prices as USD 99.99, US$ 99.99, …\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bulk Updates from file\u003C\u002Fstrong> – Save hours of manual work by updating the product prices in bulk using the CSV import or “WP All Import” integration.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Support for Manual Orders\u003C\u002Fstrong> – Update the order with the regional price from the administration panel.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Additional Shortcodes and Widgets\u003C\u002Fstrong> – Display custom content based on the user’s country or the price of a specific product in a pricing table with the PRO shortcodes.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Exclusive Compatibilities and Integrations\u003C\u002Fstrong> – The PRO version adds compatibility with several WooCommerce.com extensions, including \u003Cem>WooCommerce Subscriptions by Woo\u003C\u002Fem>, \u003Cem>Product Bundles for WooCommerce by Woo\u003C\u002Fem>, \u003Cem>Product Add-Ons for WooCommerce by Woo\u003C\u002Fem>, and other professional extensions like \u003Cem>German Market by Marketpress\u003C\u002Fem> or \u003Cem>WP All Import\u003C\u002Fem>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.pricebasedcountry.com\u002Fproduct-tour\u002Ffree-vs-pro\u002F?utm_medium=banner&utm_campaign=upgrade-pro&utm_source=wordpress\" rel=\"nofollow ugc\">\u003Cstrong>Free vs PRO full comparison\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\n","Product Pricing and Currency based on Shopper's Country for WooCommerce with multi-currency support and geolocation to boost international sales.",1295389,96,261,"2026-03-05T10:30:00.000Z","3.8","7.0",[93,20,94,95,53],"country-based-pricing","multi-currency","price-by-country","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoocommerce-product-price-based-on-countries\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwoocommerce-product-price-based-on-countries.4.2.2.zip",{"slug":99,"name":100,"version":101,"author":102,"author_profile":103,"description":104,"short_description":105,"active_installs":106,"downloaded":107,"rating":108,"num_ratings":109,"last_updated":110,"tested_up_to":91,"requires_at_least":111,"requires_php":13,"tags":112,"homepage":116,"download_link":117,"security_score":24,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":55},"ip-location-block","IP Location Block","1.3.8","Darko G.","https:\u002F\u002Fprofiles.wordpress.org\u002Fdarkog\u002F","\u003Cp>IP Location Block plugin that allows you to block access to your site based on the visitor location while also keeping your site safe from malicious attacks. The plugin brings a smart and powerful protection methods such as “\u003Cstrong>WP Metadata Exploit Protection\u003C\u002Fstrong>“.\u003C\u002Fp>\n\u003Cp>Combined with those methods and IP address geolocation, you’ll be surprised to find a bunch of malicious or undesirable access blocked in the logs of this plugin after several days of installation.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Note:\u003C\u002Fstrong> This plugin is based on the now abandoned “IP Geo Block” plugin by tokkonopapa. I fixed various issues and improved the overall codebase.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Native Geo-Location Provider\u003C\u002Fstrong>\u003Cbr \u002F>\nIP Location Block provides \u003Ca href=\"https:\u002F\u002Fiplocationblock.com\u002Fcodex\u002Fnative-geo-location-provider\u002F?utm_source=plugin&utm_medium=wporgpage&utm_campaign=readme\" rel=\"nofollow ugc\">Native Geo-Location Provider\u003C\u002Fa> that is faster, more secure and provides the needed \u003Cstrong>precision\u003C\u002Fstrong> for matching \u003Cstrong>CITY\u003C\u002Fstrong> and \u003Cstrong>STATE\u003C\u002Fstrong> besides the standard COUNTRY matching.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Privacy by design:\u003C\u002Fstrong>\u003Cbr \u002F>\nIP address is always encrypted on recording in logs\u002Fcache. Moreover, it can be anonymized and restricted on sending to the 3rd parties such as geolocation APIs or whois service.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Immigration control:\u003C\u002Fstrong>\u003Cbr \u002F>\nAccess to the basic and important entrances into back-end such as \u003Ccode>wp-comments-post.php\u003C\u002Fcode>, \u003Ccode>xmlrpc.php\u003C\u002Fcode>, \u003Ccode>wp-login.php\u003C\u002Fcode>, \u003Ccode>wp-signup.php\u003C\u002Fcode>, \u003Ccode>wp-admin\u002Fadmin.php\u003C\u002Fcode>, \u003Ccode>wp-admin\u002Fadmin-ajax.php\u003C\u002Fcode>, \u003Ccode>wp-admin\u002Fadmin-post.php\u003C\u002Fcode> will be validated by means of a country code based on IP address. It allows you to configure either whitelist or blacklist to \u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FISO_3166-1_alpha-2#Officially_assigned_code_elements\" title=\"ISO 3166-1 alpha-2 - Wikipedia\" rel=\"nofollow ugc\">specify the countires\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FClassless_Inter-Domain_Routing\" title=\"Classless Inter-Domain Routing - Wikipedia\" rel=\"nofollow ugc\">CIDR notation\u003C\u002Fa> for a range of IP addresses and \u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAutonomous_system_(Internet)\" title=\"Autonomous system (Internet) - Wikipedia\" rel=\"nofollow ugc\">AS number\u003C\u002Fa> for a group of IP networks.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Guard against login attempts:\u003C\u002Fstrong>\u003Cbr \u002F>\nIn order to prevent hacking through the login form and XML-RPC by brute-force and the reverse-brute-force attacks, the number of login attempts will be limited per IP address even from the permitted countries.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Minimize server load against brute-force attacks:\u003C\u002Fstrong>\u003Cbr \u002F>\nYou can configure this plugin as a \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FMust_Use_Plugins\" title=\"Must Use Plugins « WordPress Codex\" rel=\"nofollow ugc\">Must Use Plugins\u003C\u002Fa> so that this plugin can be loaded prior to regular plugins. It can massively \u003Ca href=\"https:\u002F\u002Fiplocationblock.com\u002Fcodex\u002Fvalidation-timing\u002F\" title=\"Validation timing | IP Location Block\" rel=\"nofollow ugc\">reduce the load on server\u003C\u002Fa>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Prevent malicious down\u002Fuploading:\u003C\u002Fstrong>\u003Cbr \u002F>\nA malicious request such as exposing \u003Ccode>wp-config.php\u003C\u002Fcode> or uploading malwares via vulnerable plugins\u002Fthemes can be blocked.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Block badly-behaved bots and crawlers:\u003C\u002Fstrong>\u003Cbr \u002F>\nA simple logic may help to reduce the number of rogue bots and crawlers scraping your site.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Support of BuddyPress and bbPress:\u003C\u002Fstrong>\u003Cbr \u002F>\nYou can configure this plugin so that a registered user can login as a membership from anywhere, while a request such as a new user registration, lost password, creating a new topic and subscribing comment can be blocked by country. It is suitable for \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbuddypress\u002F\" title=\"BuddyPress — WordPress Plugins\" rel=\"ugc\">BuddyPress\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbbpress\u002F\" title=\"WordPress › bbPress « WordPress Plugins\" rel=\"ugc\">bbPress\u003C\u002Fa> to help reducing spams.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Referrer suppressor for external links:\u003C\u002Fstrong>\u003Cbr \u002F>\nWhen you click an external hyperlink on admin screens, http referrer will be eliminated to hide a footprint of your site.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Multiple source of IP Geolocation databases:\u003C\u002Fstrong>\u003Cbr \u002F>\nBesides the \u003Ca href=\"https:\u002F\u002Fiplocationblock.com\u002Fcodex\u002Fnative-geo-location-provider\u002F?utm_source=plugin&utm_medium=wporgpage&utm_campaign=readme\" rel=\"nofollow ugc\">Native Geo-Location provider\u003C\u002Fa>, this plugin supports \u003Ca href=\"https:\u002F\u002Fwww.maxmind.com\" title=\"MaxMind - IP Geolocation and Online Fraud Prevention\" rel=\"nofollow ugc\">MaxMind GeoLite2 free databases\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fwww.ip2location.com\u002F\" title=\"IP Address Geolocation to Identify Website Visitor's Geographical Location\" rel=\"nofollow ugc\">IP2Location LITE databases\u003C\u002Fa>. Also free Geolocation REST APIs and whois information can be available for audit purposes.\u003Cbr \u002F>\nFather more, \u003Ca href=\"https:\u002F\u002Fiplocationblock.com\u002Fcloudflare-cloudfront-api-class-library\u002F\" title=\"CloudFlare & CloudFront API class library | IP Location Block\" rel=\"nofollow ugc\">dedicated API class libraries\u003C\u002Fa> can be installed for CloudFlare and CloudFront as a reverse proxy service.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Customizing response:\u003C\u002Fstrong>\u003Cbr \u002F>\nHTTP response code can be selectable as \u003Ccode>403 Forbidden\u003C\u002Fcode> to deny access pages, \u003Ccode>404 Not Found\u003C\u002Fcode> to hide pages or even \u003Ccode>200 OK\u003C\u002Fcode> to redirect to the top page.\u003Cbr \u002F>\nYou can also have a human friendly page (like \u003Ccode>404.php\u003C\u002Fcode>) in your parent\u002Fchild theme template directory to fit your site design.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Validation logs:\u003C\u002Fstrong>\u003Cbr \u002F>\nValidation logs for useful information to audit attack patterns can be manageable.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Cooperation with full spec security plugin:\u003C\u002Fstrong>\u003Cbr \u002F>\nThis plugin is lite enough to be able to cooperate with other full spec security plugin such as \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwordfence\u002F\" title=\"Wordfence Security — WordPress Plugins\" rel=\"ugc\">Wordfence Security\u003C\u002Fa>. See \u003Ca href=\"https:\u002F\u002Fiplocationblock.com\u002Fcodex\u002Fpage-speed-performance\u002F\" title=\"Page speed performance | IP Location Block\" rel=\"nofollow ugc\">this report\u003C\u002Fa> about page speed performance.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Extendability:\u003C\u002Fstrong>\u003Cbr \u002F>\nYou can customize the behavior of this plugin via \u003Ccode>add_filter()\u003C\u002Fcode> with \u003Ca href=\"https:\u002F\u002Fiplocationblock.com\u002Fcodex\u002F\" title=\"Codex | IP Location Block\" rel=\"nofollow ugc\">pre-defined filter hook\u003C\u002Fa>. See various use cases in \u003Ca href=\"https:\u002F\u002Fiplocationblock.com\u002Fcodex\u002Fexample-use-cases-for-the-developer-hooks\u002F\" rel=\"nofollow ugc\">samples.php\u003C\u002Fa> bundled within this package.\u003Cbr \u002F>\nYou can also get the extension \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fddur\u002FWordPress-IP-Geo-Allow\" title=\"GitHub - ddur\u002FWordPress-IP-Geo-Allow: WordPress Plugin Exension for WordPress-IP-Geo-Block Plugin\" rel=\"nofollow ugc\">IP Geo Allow\u003C\u002Fa> by \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fddur\" title=\"ddur (Dragan) - GitHub\" rel=\"nofollow ugc\">Dragan\u003C\u002Fa>. It makes admin screens strictly private with more flexible way than specifying IP addresses.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Self blocking prevention and easy rescue:\u003C\u002Fstrong>\u003Cbr \u002F>\nWebsite owners do not prefer themselves to be blocked. This plugin prevents such a sad thing unless you force it. And futhermore, if such a situation occurs, you can \u003Ca href=\"https:\u002F\u002Fiplocationblock.com\u002Fcodex\u002Fwhat-should-i-do-when-im-locked-out\u002F\" title=\"What should I do when I'm locked out? | IP Location Block\" rel=\"nofollow ugc\">rescue yourself\u003C\u002Fa> easily.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Clean uninstallation:\u003C\u002Fstrong>\u003Cbr \u002F>\nNothing is left in your precious mySQL database after uninstallation. So you can feel free to install and activate to make a trial of this plugin’s functionality.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Documentation\u003C\u002Fh4>\n\u003Cp>Documentation and more information can always be found on our \u003Ca href=\"https:\u002F\u002Fiplocationblock.com\u002F\" title=\"IP Location Block\" rel=\"nofollow ugc\">plugin website\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Attribution\u003C\u002Fh4>\n\u003Cp>This package includes GeoLite2 library distributed by MaxMind, available from \u003Ca href=\"https:\u002F\u002Fwww.maxmind.com\" title=\"MaxMind - IP Geolocation and Online Fraud Prevention\" rel=\"nofollow ugc\">MaxMind\u003C\u002Fa>, and also includes IP2Location open source libraries available from \u003Ca href=\"https:\u002F\u002Fwww.ip2location.com\" title=\"IP Address Geolocation to Identify Website Visitor's Geographical Location\" rel=\"nofollow ugc\">IP2Location\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Also thanks for providing the following services and REST APIs for free.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fgeoiplookup.net\u002F\" title=\"What Is My IP Address | GeoIP Lookup\" rel=\"nofollow ugc\">http:\u002F\u002Fgeoiplookup.net\u002F\u003C\u002Fa> (IPv4, IPv6 \u002F free)\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fipinfo.io\u002F\" title=\"IP Address API and Data Solutions\" rel=\"nofollow ugc\">https:\u002F\u002Fipinfo.io\u002F\u003C\u002Fa> (IPv4, IPv6 \u002F free)\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fipapi.com\u002F\" title=\"ipapi - IP Address Lookup and Geolocation API\" rel=\"nofollow ugc\">https:\u002F\u002Fipapi.com\u002F\u003C\u002Fa> (IPv4, IPv6 \u002F free, need API key)\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fipstack.com\u002F\" title=\"ipstack - Free IP Geolocation API\" rel=\"nofollow ugc\">https:\u002F\u002Fipstack.com\u002F\u003C\u002Fa> (IPv4, IPv6 \u002F free, need API key)\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fipinfodb.com\u002F\" title=\"Free IP Geolocation Tools and API| IPInfoDB\" rel=\"nofollow ugc\">https:\u002F\u002Fipinfodb.com\u002F\u003C\u002Fa> (IPv4, IPv6 \u002F free, need API key)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Development\u003C\u002Fh4>\n\u003Cp>Development of this plugin happens at \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgdarko\u002Fip-location-block\" title=\"gdarko\u002Fip-location-block - GitHub\" rel=\"nofollow ugc\">IP Location Block – GitHub\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>All contributions will always be welcome.\u003C\u002Fp>\n\u003Ch4>Known issues\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>From \u003Ca href=\"https:\u002F\u002Fmake.wordpress.org\u002Fcore\u002F2016\u002F03\u002F09\u002Fcomment-changes-in-wordpress-4-5\u002F\" title=\"Comment Changes in WordPress 4.5 – Make WordPress Core\" rel=\"nofollow ugc\">WordPress 4.5\u003C\u002Fa>, \u003Ccode>rel=nofollow\u003C\u002Fcode> had no longer be attached to the links in \u003Ccode>comment_content\u003C\u002Fcode>. This change prevents to block “\u003Ca href=\"https:\u002F\u002Fwww.owasp.org\u002Findex.php\u002FServer_Side_Request_Forgery\" title=\"Server Side Request Forgery - OWASP\" rel=\"nofollow ugc\">Server Side Request Forgeries\u003C\u002Fa>” (not Cross Site but a malicious internal link in the comment field).\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fapps.wordpress.com\u002Fmobile\u002F\" title=\"WordPress.com Apps - Mobile Apps\" rel=\"nofollow ugc\">WordPress.com Mobile App\u003C\u002Fa> can’t execute image uploading because of its own authentication system via XMLRPC.\u003C\u002Fli>\n\u003C\u002Ful>\n","Easily block visitors by country, state or ISP provider. Also, protects your site from spam, login attempts, malicious access & more.",10000,192738,92,33,"2026-03-13T00:57:00.000Z","3.7",[113,18,20,114,115],"block","ip-address","ip-geo-block","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fip-location-block\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fip-location-block.1.3.8.zip",{"slug":119,"name":120,"version":121,"author":122,"author_profile":123,"description":124,"short_description":125,"active_installs":126,"downloaded":127,"rating":128,"num_ratings":129,"last_updated":130,"tested_up_to":47,"requires_at_least":131,"requires_php":91,"tags":132,"homepage":136,"download_link":137,"security_score":24,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":55},"woo-product-country-base-restrictions","Country Based Restrictions for WooCommerce","3.7.7","Zorem","https:\u002F\u002Fprofiles.wordpress.org\u002Fzorem\u002F","\u003Cp>\u003Cstrong>Country Based Restrictions for WooCommerce (CBR)\u003C\u002Fstrong> lets you control which products customers can see and purchase based on their country. Whether you need to comply with regional regulations, limit shipping to certain destinations, or create country-specific catalogs, CBR gives you per-product control using WooCommerce’s built-in geolocation.\u003C\u002Fp>\n\u003Cp>If a product shouldn’t be sold in a particular country — because of shipping limitations, legal requirements, licensing, or business strategy — CBR makes sure customers in that country either can’t see it or can’t buy it. No code required.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Hide Restricted Products Completely\u003C\u002Fstrong> — Remove products from your shop, search results, and catalog for customers in restricted countries. Products become invisible as if they don’t exist.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Hide from Catalog, Keep Direct Links\u003C\u002Fstrong> — Remove products from shop pages and search, but still allow access via a direct URL. Useful for wholesale or private distribution.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Visible but Not Purchasable\u003C\u002Fstrong> — Keep products visible in your shop and search results, but disable the Add to Cart button for restricted countries. Customers can browse but not buy.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Per-Product Include or Exclude Rules\u003C\u002Fstrong> — For each product, choose whether to allow it in specific countries (include) or block it in specific countries (exclude). Flexible enough for any restriction scenario.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic Country Detection\u003C\u002Fstrong> — Uses WooCommerce Geolocation (IP-based) and the customer’s shipping address to determine their country — no manual input needed from the shopper.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Translation Ready\u003C\u002Fstrong> — Fully translatable and compatible with multilingual stores.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Common Use Cases\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Legal & Regulatory Compliance\u003C\u002Fstrong> — Block products that can’t legally be sold in certain countries (alcohol, supplements, electronics, age-restricted items).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shipping Limitations\u003C\u002Fstrong> — Don’t sell products in countries your logistics provider can’t deliver to. Avoid failed deliveries and refund requests.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Regional Licensing\u003C\u002Fstrong> — Restrict digital or licensed products to territories covered by your distribution agreement.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Country-Specific Catalogs\u003C\u002Fstrong> — Show different product selections to different markets, creating a tailored shopping experience per region.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Reduce Chargebacks & Wrong Orders\u003C\u002Fstrong> — Prevent customers from ordering products that can’t be fulfilled in their location.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How Country Detection Works\u003C\u002Fh4>\n\u003Cp>CBR determines the customer’s country in this order:\u003C\u002Fp>\n\u003Col>\n\u003Cli>If the visitor is a \u003Cstrong>logged-in customer\u003C\u002Fstrong> with a shipping address on file, CBR uses that shipping country.\u003C\u002Fli>\n\u003Cli>If no shipping country is set (or the visitor is a guest), CBR falls back to \u003Cstrong>WooCommerce Geolocation\u003C\u002Fstrong> (IP-based detection).\u003C\u002Fli>\n\u003Cli>You can optionally force the plugin to always use geolocation only.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Upgrade to Country Based Restrictions PRO\u003C\u002Fh4>\n\u003Cp>Need to manage restrictions at scale? \u003Ca href=\"https:\u002F\u002Fwww.zorem.com\u002Fproduct\u002Fcountry-based-restriction-pro\u002F\" rel=\"nofollow ugc\">CBR PRO\u003C\u002Fa> adds powerful bulk tools and advanced controls:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Bulk Restrictions by Category, Tag, Attribute, or Shipping Class\u003C\u002Fstrong> — Apply country rules to entire groups of products at once instead of editing each product individually.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Global (All Products) Restrictions\u003C\u002Fstrong> — Set a single rule that applies to your entire catalog.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Disable Payment Methods by Country\u003C\u002Fstrong> — Control which payment gateways are available based on the customer’s country.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Hide Product Prices for Restricted Products\u003C\u002Fstrong> — Instead of hiding the product entirely, hide only the price and Add to Cart button.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Remove Single Product Rules in Bulk\u003C\u002Fstrong> — Clean up individual product rules using bulk actions.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Debug Mode\u003C\u002Fstrong> — Display a front-end toolbar (visible to admins only) showing the detected country, so you can test restrictions without affecting customers.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Country Detection Widget\u003C\u002Fstrong> — Display the detected shipping country to shoppers and let them change their location while browsing.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.zorem.com\u002Fproduct\u002Fcountry-based-restriction-pro\u002F\" rel=\"nofollow ugc\">Get Country Based Restrictions PRO\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Documentation & Support\u003C\u002Fh4>\n\u003Cp>Setup guides, configuration tutorials, and developer resources are available in the \u003Ca href=\"https:\u002F\u002Fdocs.zorem.com\u002Fdocs\u002Fcountry-based-restrictions-pro\u002F\" rel=\"nofollow ugc\">CBR documentation\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Need help? Visit the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fwoo-product-country-base-restrictions\u002F\" rel=\"ugc\">support forum\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>More Plugins by Zorem\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.zorem.com\u002Fproduct\u002Fwoocommerce-advanced-shipment-tracking\u002F\" rel=\"nofollow ugc\">Advanced Shipment Tracking PRO\u003C\u002Fa> — Add tracking numbers to orders and share them with customers automatically.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fzorem.com\u002Fplugins\u002Fsms-for-woocommerce\u002F\" rel=\"nofollow ugc\">SMS for WooCommerce\u003C\u002Fa> — Send SMS order notifications to customers.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fzorem.com\u002Fplugins\u002Fzorem-local-pickup-pro\u002F\" rel=\"nofollow ugc\">Zorem Local Pickup Pro\u003C\u002Fa> — Local pickup and store pickup for WooCommerce.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fzorem.com\u002Fplugins\u002Fcustomer-email-verification-for-woocommerce\u002F\" rel=\"nofollow ugc\">Customer Email Verification for WooCommerce\u003C\u002Fa> — Verify customer emails during registration.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fzorem.com\u002Fplugins\u002Fzorem-returns\u002F\" rel=\"nofollow ugc\">Zorem Returns\u003C\u002Fa> — Manage product returns and RMA requests.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Explore all plugins at \u003Ca href=\"https:\u002F\u002Fwww.zorem.com\u002F\" rel=\"nofollow ugc\">zorem.com\u003C\u002Fa>.\u003C\u002Fp>\n","Restrict WooCommerce products by country — hide or block purchases using geolocation so only customers in allowed countries can buy.",5000,224381,90,52,"2026-02-10T13:26:00.000Z","5.3",[133,20,134,135,53],"country-restriction","product-visibility","restrict-products","https:\u002F\u002Fwww.zorem.com\u002Fshop\u002Fwoocommerce-product-country-based-restrictions\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwoo-product-country-base-restrictions.3.7.7.zip",{"attackSurface":139,"codeSignals":195,"taintFlows":250,"riskAssessment":251,"analyzedAt":264},{"hooks":140,"ajaxHandlers":184,"restRoutes":192,"shortcodes":193,"cronEvents":194,"entryPointCount":30,"unprotectedCount":30},[141,147,152,157,160,163,166,170,174,178,181],{"type":142,"name":143,"callback":144,"file":145,"line":146},"action","carbon_fields_register_fields","dm_visitor_location_plugin_settings_page","admin\\admin-settings.php",72,{"type":142,"name":148,"callback":149,"file":150,"line":151},"init","register_shortcodes","app\\Controllers\\Shortcodes\\ShortcodeAbstract.php",9,{"type":142,"name":153,"callback":154,"file":155,"line":156},"wp_enqueue_scripts","register_assets","config\\assets.php",6,{"type":142,"name":158,"callback":154,"file":155,"line":159},"admin_enqueue_scripts",7,{"type":142,"name":153,"callback":161,"file":155,"line":162},"enqueue_assets",8,{"type":142,"name":164,"callback":165,"file":155,"line":151},"wp_head","enqueue_head_variables",{"type":142,"name":167,"callback":168,"file":155,"line":169},"admin_notices","checkAPIKeyOption",40,{"type":142,"name":171,"callback":172,"file":155,"line":173},"carbon_fields_theme_options_container_saved","checkAPIonSave",41,{"type":142,"name":175,"callback":176,"file":177,"line":156},"after_setup_theme","dbi_load_carbon_fields","config\\carbon-fields.php",{"type":142,"name":179,"callback":148,"file":180,"line":109},"plugins_loaded","index.php",{"type":142,"name":179,"callback":182,"file":180,"line":183},"instantiate_classes",34,[185,189],{"action":186,"nopriv":187,"callback":186,"hasNonce":187,"hasCapCheck":187,"file":155,"line":188},"dm_get_visits_last_db",false,37,{"action":186,"nopriv":190,"callback":186,"hasNonce":187,"hasCapCheck":187,"file":155,"line":191},true,38,[],[],[],{"dangerousFunctions":196,"sqlUsage":197,"outputEscaping":199,"fileOperations":11,"externalRequests":45,"nonceChecks":11,"capabilityChecks":11,"bundledLibraries":249},[],{"prepared":162,"raw":11,"locations":198},[],{"escaped":11,"rawEcho":200,"locations":201},24,[202,206,208,210,212,214,216,218,219,221,223,225,227,229,231,234,235,237,239,241,243,244,246,248],{"file":203,"line":204,"context":205},"app\\Controllers\\Shortcodes\\ShortcodesOutput.php",65,"raw output",{"file":203,"line":207,"context":205},66,{"file":203,"line":209,"context":205},67,{"file":203,"line":211,"context":205},68,{"file":203,"line":213,"context":205},69,{"file":203,"line":215,"context":205},70,{"file":203,"line":217,"context":205},71,{"file":203,"line":108,"context":205},{"file":203,"line":220,"context":205},93,{"file":203,"line":222,"context":205},95,{"file":203,"line":224,"context":205},145,{"file":203,"line":226,"context":205},159,{"file":203,"line":228,"context":205},172,{"file":203,"line":230,"context":205},184,{"file":232,"line":233,"context":205},"app\\Models\\API.php",31,{"file":232,"line":188,"context":205},{"file":232,"line":236,"context":205},43,{"file":232,"line":238,"context":205},49,{"file":232,"line":240,"context":205},55,{"file":232,"line":242,"context":205},61,{"file":232,"line":209,"context":205},{"file":232,"line":245,"context":205},77,{"file":232,"line":247,"context":205},83,{"file":155,"line":32,"context":205},[],[],{"summary":252,"deductions":253},"The \"dm-visitor-location-notification\" plugin version 1.0.0 presents a concerning security posture, primarily due to significant omissions in essential security checks. While the plugin avoids the use of dangerous functions and employs prepared statements for all its SQL queries, which are positive indicators, these strengths are overshadowed by critical weaknesses. The absence of output escaping for all 24 identified outputs means that any user-supplied data rendered on the frontend or backend is highly susceptible to cross-site scripting (XSS) attacks. Furthermore, the plugin exposes two AJAX handlers without any form of authentication or capability checks, creating an open door for attackers to potentially trigger unintended actions within the WordPress environment.\n\nThe lack of nonce checks and capability checks on its entry points is a significant security oversight, directly contributing to the high-risk nature of its attack surface. The taint analysis revealing zero flows is a positive sign, suggesting that no exploitable data flows were detected in the limited analysis, and the vulnerability history being clear of any recorded CVEs further bolsters this. However, this clean history, especially at such an early version, might indicate a lack of thorough auditing or a small user base rather than inherent security. The plugin's strengths in SQL handling are negated by its severe deficiencies in output sanitization and access control for its AJAX endpoints.",[254,257,259,262],{"reason":255,"points":256},"AJAX handlers without auth checks",10,{"reason":258,"points":162},"Output escaping missing on all outputs",{"reason":260,"points":261},"Nonce checks missing on entry points",5,{"reason":263,"points":261},"Capability checks missing on entry points","2026-03-17T06:03:46.068Z",{"wat":266,"direct":281},{"assetPaths":267,"generatorPatterns":278,"scriptPaths":279,"versionParams":280},[268,269,270,271,272,273,274,275,276,277],"\u002Fwp-content\u002Fplugins\u002Fdm-visitor-location-notification\u002Fassets\u002Fimages\u002Fus.svg","\u002Fwp-content\u002Fplugins\u002Fdm-visitor-location-notification\u002Fassets\u002Fimages\u002Fgb.svg","\u002Fwp-content\u002Fplugins\u002Fdm-visitor-location-notification\u002Fassets\u002Fimages\u002Fca.svg","\u002Fwp-content\u002Fplugins\u002Fdm-visitor-location-notification\u002Fassets\u002Fimages\u002Fau.svg","\u002Fwp-content\u002Fplugins\u002Fdm-visitor-location-notification\u002Fassets\u002Fimages\u002Fde.svg","\u002Fwp-content\u002Fplugins\u002Fdm-visitor-location-notification\u002Fassets\u002Fimages\u002Ffr.svg","\u002Fwp-content\u002Fplugins\u002Fdm-visitor-location-notification\u002Fassets\u002Fimages\u002Fin.svg","\u002Fwp-content\u002Fplugins\u002Fdm-visitor-location-notification\u002Fassets\u002Fimages\u002Fjp.svg","\u002Fwp-content\u002Fplugins\u002Fdm-visitor-location-notification\u002Fassets\u002Fimages\u002Fbr.svg","\u002Fwp-content\u002Fplugins\u002Fdm-visitor-location-notification\u002Fassets\u002Fimages\u002Fcn.svg",[],[],[],{"cssClasses":282,"htmlComments":294,"htmlAttributes":295,"restEndpoints":296,"jsGlobals":297,"shortcodeOutput":305},[283,284,285,286,287,288,289,290,291,292,291,293],"dm-vln-top-countries","dm-vln-top-country","dm-vln-top-country-flag-name","dm-vln-flag","dm-vln-top-country-name","dm-vln-top-country-count","dm-visitor-location-notification-country","dm-vln-number-countries","dm-vln-country-flag-string","dm-vln-flags-string","dm-vln-country-single",[],[],[],[298,299,300,301,302,303,304],"notification_position","notification_display_time","frequency_ajax_call","notification_bg_color","notification_text_color","notification_country_color","dm_post_id",[306,307],"[dm-vln-notification]","[dm-vln-top-countries]"]