{"id":246988,"date":"2025-09-05T04:01:33","date_gmt":"2025-09-05T04:01:33","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/multi-country-products-manager-for-woocommerce\/"},"modified":"2025-09-05T04:01:19","modified_gmt":"2025-09-05T04:01:19","slug":"multi-country-products-manager-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/ja.wordpress.org\/plugins\/multi-country-products-manager-for-woocommerce\/","author":14505773,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"6.8.5","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Multi-Country Products Manager for WooCommerce","header_author":"Amigo Dheena","header_description":"Display country-specific WooCommerce products with manual country switching and multi-currency support (2 country)","assets_banners_color":"b89dbe","last_updated":"2025-09-05 04:01:19","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":289,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"amigodheena","date":"2025-09-05 04:01:19"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3356158,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3356158,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3356158,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Admin settings page with country management","2":"Product edit screen with country-specific pricing","3":"Country dropdown selection interface","4":"Dashboard overview with statistics"}},"plugin_section":[],"plugin_tags":[8504,247426,4394,286],"plugin_category":[45],"plugin_contributors":[188640],"plugin_business_model":[],"class_list":["post-246988","plugin","type-plugin","status-publish","hentry","plugin_tags-currency","plugin_tags-multi-country","plugin_tags-pricing","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-amigodheena","plugin_committers-amigodheena"],"banners":{"banner":"https:\/\/ps.w.org\/multi-country-products-manager-for-woocommerce\/assets\/banner-772x250.png?rev=3356158","banner_2x":"https:\/\/ps.w.org\/multi-country-products-manager-for-woocommerce\/assets\/banner-1544x500.png?rev=3356158","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/multi-country-products-manager-for-woocommerce\/assets\/icon-256x256.png?rev=3356158","icon_2x":"https:\/\/ps.w.org\/multi-country-products-manager-for-woocommerce\/assets\/icon-256x256.png?rev=3356158","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Multi-Country Products Manager enables WooCommerce stores to manage products for up to 2 countries with manual pricing control and country-specific product availability.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>2-Country Support<\/strong>: Support for US (base) + 1 additional country<\/li>\n<li><strong>Manual Pricing Control<\/strong>: Set specific prices for each country manually<\/li>\n<li><strong>Country Switching<\/strong>: Simple country selection interface<\/li>\n<li><strong>Product Filtering<\/strong>: Show only products available in user's country<\/li>\n<li><strong>Admin Interface<\/strong>: Clean settings and product management<\/li>\n<li><strong>Cart Integration<\/strong>: Country information preserved in orders<\/li>\n<\/ul>\n\n<h4>Supported Countries<\/h4>\n\n<p>Choose from 60+ predefined countries including:\n* Major economies (US, UK, EU countries, Japan, China, India)\n* ASEAN countries (Singapore, Malaysia, Thailand, Philippines)\n* Middle East (UAE, Saudi Arabia, Qatar)\n* Africa (Nigeria, South Africa, Kenya)\n* And many more<\/p>\n\n<h4>Exchange Rates<\/h4>\n\n<ul>\n<li>Manual exchange rate entry only<\/li>\n<li>Store owners set their own rates<\/li>\n<li>No automatic updates<\/li>\n<\/ul>\n\n<h3>License<\/h3>\n\n<p>This program is free software; you can redistribute it and\/or 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.<\/p>\n\n<p>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.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin uses the following external geolocation services to detect user's country for automatic country switching:<\/p>\n\n<ol>\n<li><p><strong>IP-API<\/strong><\/p>\n\n<ul>\n<li>Service: IP-API provides country geolocation based on IP address<\/li>\n<li>Data sent: User's IP address for country lookup<\/li>\n<li>When used: When user first visits the site or when country detection is triggered<\/li>\n<li>Provider information: IP-API (see their privacy policy at ip-api.com\/docs\/legal)<\/li>\n<\/ul><\/li>\n<li><p><strong>IPAPI.co<\/strong><\/p>\n\n<ul>\n<li>Service: IPAPI.co provides IP geolocation and country detection<\/li>\n<li>Data sent: User's IP address for country lookup<\/li>\n<li>When used: When IP-API fails or as a fallback service<\/li>\n<li>Provider information: IPAPI.co (terms at ipapi.co\/terms, privacy policy at ipapi.co\/privacy)<\/li>\n<\/ul><\/li>\n<li><p><strong>IPinfo.io<\/strong><\/p>\n\n<ul>\n<li>Service: IPinfo.io provides IP address to country detection<\/li>\n<li>Data sent: User's IP address for country lookup<\/li>\n<li>When used: When both IP-API and IPAPI.co fail or as a final fallback service<\/li>\n<li>Provider information: IPinfo.io (terms at ipinfo.io\/terms, privacy policy at ipinfo.io\/privacy-policy)<\/li>\n<\/ul><\/li>\n<\/ol>\n\n<p>Note: The plugin attempts to use these services in sequence until successful country detection occurs. If all services fail, the default country (US) is used. User's IP is transmitted only for determining the country code, and no personal information is stored on these external services.<\/p>\n\n<h3>Developer Documentation<\/h3>\n\n<h4>Plugin Architecture<\/h4>\n\n<p>The plugin follows a modular architecture:<\/p>\n\n<pre><code>`\n<\/code><\/pre>\n\n<p>multi-country-products-manager-for-woocommerce\/\n\u2502\n\u251c\u2500\u2500 multi-country-products-manager-for-woocommerce.php          # Main plugin bootstrap file\n\u251c\u2500\u2500 includes\/\n\u2502   \u251c\u2500\u2500 class-mcpmwoo-core.php              # Core plugin loader and initialization\n\u2502   \u251c\u2500\u2500 class-mcpmwoo-country.php           # Country management (2-country limit)\n\u2502   \u251c\u2500\u2500 class-mcpmwoo-admin.php             # Admin interface and settings\n\u2502   \u251c\u2500\u2500 class-mcpmwoo-product.php           # Product pricing and filtering\n\u2502   \u251c\u2500\u2500 class-mcpmwoo-ajax.php              # AJAX handlers for country switching\n\u2502   \u251c\u2500\u2500 class-mcpmwoo-hooks.php             # WordPress\/WooCommerce hooks\n\u2502   \u2514\u2500\u2500 helpers.php                     # Helper functions\n\u251c\u2500\u2500 assets\/\n\u2502   \u251c\u2500\u2500 css\/\n\u2502   \u2502   \u251c\u2500\u2500 mcpmwoo-admin.css               # Admin styling\n\u2502   \u2502   \u2514\u2500\u2500 mcpmwoo-frontend.css            # Frontend styling\n\u2502   \u2514\u2500\u2500 js\/\n\u2502       \u251c\u2500\u2500 mcpmwoo-dropdown.js             # Country switching\n\u2502       \u2514\u2500\u2500 mcpmwoo-multi-country.js            # Admin functionality\n\u2514\u2500\u2500 languages\/                          # Translation files\n    \u2514\u2500\u2500 multi-country-products-manager-for-woocommerce.pot      # Translation template\n    `<\/p>\n\n<h4>Class Structure<\/h4>\n\n<p><strong>MCPMWOO_Core<\/strong>: Main plugin loader and dependency manager\n<strong>MCPMWOO_Country<\/strong>: Country data management (2-country limitation)\n<strong>MCPMWOO_Admin<\/strong>: WordPress admin interface and settings\n<strong>MCPMWOO_Product<\/strong>: Product-specific functionality and WooCommerce integration\n<strong>MCPMWOO_Ajax<\/strong>: AJAX request handling\n<strong>MCPMWOO_Hooks<\/strong>: WordPress and WooCommerce hooks registration<\/p>\n\n<h4>Helper Functions<\/h4>\n\n<p>The plugin provides helper functions for developers:<\/p>\n\n<pre><code>`php\n<\/code><\/pre>\n\n<p>\/\/ Get current user's country\n$country = mcpmwoo_get_current_country();<\/p>\n\n<p>\/\/ Check if product is available in a country\n$available = mcpmwoo_is_product_available_in_country($product_id, 'US');<\/p>\n\n<p>\/\/ Get country-specific price\n$price = mcpmwoo_get_product_country_price($product_id, 'GB', 'regular');<\/p>\n\n<p>\/\/ Get all countries (max 2)\n$countries = mcpmwoo_get_countries();\n    `<\/p>\n\n<h4>Hooks and Filters<\/h4>\n\n<p>The plugin provides hooks for customization:<\/p>\n\n<ul>\n<li><code>mcpmwoo_before_country_switch<\/code> - Action before country switching<\/li>\n<li><code>mcpmwoo_after_country_switch<\/code> - Action after country switching<\/li>\n<li><code>mcpmwoo_country_currencies<\/code> - Filter to modify available currencies<\/li>\n<\/ul>\n\n<h4>Security Features<\/h4>\n\n<ul>\n<li>WordPress nonces for all AJAX requests<\/li>\n<li>Input sanitization and validation<\/li>\n<li>Capability checks for admin functions<\/li>\n<li>SQL injection prevention through WordPress APIs<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/multi-country-products-manager-for-woocommerce<\/code>, or install via WordPress plugins screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Ensure WooCommerce is installed and activated.<\/li>\n<li>Use WooCommerce -&gt; Multi Country to configure your 2 countries and pricing.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='how%20many%20countries%20can%20i%20use%3F'><h3>How many countries can I use?<\/h3><\/dt>\n<dd><p>Now it supports 2 countries: US (base currency) plus one additional country of your choice.<\/p><\/dd>\n<dt id='can%20i%20set%20different%20prices%20for%20each%20country%3F'><h3>Can I set different prices for each country?<\/h3><\/dt>\n<dd><p>Yes, you can manually set country-specific regular and sale prices for each product in the \"Country Pricing\" tab.<\/p><\/dd>\n<dt id='are%20exchange%20rates%20automatic%3F'><h3>Are exchange rates automatic?<\/h3><\/dt>\n<dd><p>No, you must manually enter and update exchange rates as needed.<\/p><\/dd>\n<dt id='can%20i%20change%20my%20second%20country%3F'><h3>Can I change my second country?<\/h3><\/dt>\n<dd><p>Yes, you can remove your current second country and add a different one, but you can only have 2 countries total.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial version release<\/li>\n<li>2-country product management<\/li>\n<li>Manual pricing control<\/li>\n<li>Country switching functionality<\/li>\n<li>Country-specific pricing<\/li>\n<li>Clean admin interface<\/li>\n<li>60+ predefined countries<\/li>\n<li>Manual exchange rate entry<\/li>\n<li>Translation support<\/li>\n<\/ul>","raw_excerpt":"Simple multi-country product management for WooCommerce with manual pricing control and country switching.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/246988","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=246988"}],"author":[{"embeddable":true,"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/amigodheena"}],"wp:attachment":[{"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=246988"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=246988"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=246988"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=246988"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=246988"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ja.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=246988"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}