[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fPtNlSkWo4FtqzVWjJt6Z1YE9X2uILafeLPH0X58NWjI":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":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":11,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":39,"analysis":137,"fingerprints":296},"wc-apg-city","WC – APG City","2.0.4","Art Project Group","https:\u002F\u002Fprofiles.wordpress.org\u002Fartprojectgroup\u002F","\u003Cp>\u003Cstrong>IMPORTANT: \u003Cem>WC – APG City\u003C\u002Fem> isn’t compatible with Microsoft Internet Explorer 11 or earlier.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>WC – APG City\u003C\u002Fstrong> adds to your WooCommerce shop a new automatic city field generated from postcode via GeoNames API or Google Maps API.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Fully compatible with the Checkout block in the WordPress block editor.\u003C\u002Fli>\n\u003Cli>Includes a local GeoNames database that is downloaded and updated monthly to improve performance and reduce external API queries.\u003C\u002Fli>\n\u003Cli>You can choose between the GeoNames API or the Google Maps API.\u003C\u002Fli>\n\u003Cli>You must add your own Google Maps API Key or GeoNames username.\u003C\u002Fli>\n\u003Cli>You can customize the default text of the select field.\u003C\u002Fli>\n\u003Cli>You can customize the text of the option used to reload a text field.\u003C\u002Fli>\n\u003Cli>You can block modifications to the city and province (state) fields.\u003C\u002Fli>\n\u003Cli>You can customize the background color of the locked fields.\u003C\u002Fli>\n\u003Cli>If the postal code is shared by more than one city, the customer will be able to select the correct city name from the list returned by GeoNames or Google Maps.\u003C\u002Fli>\n\u003Cli>If the city is not in the list or cannot be found in either API, the customer can manually enter their city name.\u003C\u002Fli>\n\u003Cli>It also selects the province (state), as long as the name matches the one obtained from GeoNames or Google Maps.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Español (\u003Ca href=\"https:\u002F\u002Fartprojectgroup.es\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Art Project Group\u003C\u002Fstrong>\u003C\u002Fa>).\u003C\u002Fli>\n\u003Cli>English (\u003Ca href=\"https:\u002F\u002Fartprojectgroup.es\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Art Project Group\u003C\u002Fstrong>\u003C\u002Fa>).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Technical support\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Art Project Group\u003C\u002Fstrong> offers \u003Ca href=\"https:\u002F\u002Fartprojectgroup.es\u002Ftienda\u002Fticket-de-soporte\" rel=\"nofollow ugc\">\u003Cstrong>Technical support\u003C\u002Fstrong>\u003C\u002Fa> to configure or install \u003Cstrong>\u003Cem>WC – APG City\u003C\u002Fem>\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>Origin\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>WC – APG City\u003C\u002Fstrong> has been programmed at the request of \u003Ca href=\"https:\u002F\u002Fwww.facebook.com\u002Fprofile.php?id=100010011270290\" rel=\"nofollow ugc\">Thekla Kurpjuweit\u003C\u002Fa> request to add to WooCommerce automatic city name input from the postcode.\u003C\u002Fp>\n\u003Ch4>More information\u003C\u002Fh4>\n\u003Cp>On our official website you can learn more about \u003Ca href=\"https:\u002F\u002Fartprojectgroup.es\u002Fplugins-para-woocommerce\u002Fwc-apg-city\" rel=\"nofollow ugc\">\u003Cstrong>WC – APG City\u003C\u002Fstrong>\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Comments\u003C\u002Fh4>\n\u003Cp>Don’t forget to leave us your comment on:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fartprojectgroup.es\u002Fplugins-para-woocommerce\u002Fwc-apg-city\" rel=\"nofollow ugc\">WC – APG City\u003C\u002Fa> on Art Project Group.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.facebook.com\u002Fartprojectgroup\" rel=\"nofollow ugc\">Art Project Group\u003C\u002Fa> on Facebook.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fx.com\u002Fartprojectgroup\" rel=\"nofollow ugc\">@artprojectgroup\u003C\u002Fa> on X.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>More plugins\u003C\u002Fh4>\n\u003Cp>Remember that you can find more \u003Ca href=\"https:\u002F\u002Fartprojectgroup.es\u002Fplugins-para-wordpress\" rel=\"nofollow ugc\">plugins for WordPress\u003C\u002Fa> and more \u003Ca href=\"https:\u002F\u002Fartprojectgroup.es\u002Fplugins-para-woocommerce\" rel=\"nofollow ugc\">plugins for WooCommerce\u003C\u002Fa> on \u003Ca href=\"https:\u002F\u002Fartprojectgroup.es\" rel=\"nofollow ugc\">Art Project Group\u003C\u002Fa> and our profile on \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fartprojectgroup\u002F\" rel=\"nofollow ugc\">WordPress\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>GitHub\u003C\u002Fh4>\n\u003Cp>You can follow the development of this plugin on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fartprojectgroup\u002Fwc-apg-city\" rel=\"nofollow ugc\">Github\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Translations\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cem>English\u003C\u002Fem>: by \u003Ca href=\"https:\u002F\u002Fartprojectgroup.es\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Art Project Group\u003C\u002Fstrong>\u003C\u002Fa> (default language).\u003C\u002Fli>\n\u003Cli>\u003Cem>Español\u003C\u002Fem>: por \u003Ca href=\"https:\u002F\u002Fartprojectgroup.es\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Art Project Group\u003C\u002Fstrong>\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>Since \u003Cstrong>WC – APG City\u003C\u002Fstrong> is totally free, \u003Cstrong>Art Project Group\u003C\u002Fstrong> only provides payment \u003Ca href=\"https:\u002F\u002Fartprojectgroup.es\u002Ftienda\u002Fticket-de-soporte\" rel=\"nofollow ugc\">\u003Cstrong>Technical Support\u003C\u002Fstrong>\u003C\u002Fa> service. In any case \u003Cstrong>Art Project Group\u003C\u002Fstrong> does not provide any kind of free technical support.\u003C\u002Fp>\n\u003Ch3>Donation\u003C\u002Fh3>\n\u003Cp>Did you like and find \u003Cstrong>WC – APG City\u003C\u002Fstrong> useful on your website? We would appreciate a \u003Ca href=\"https:\u002F\u002Fartprojectgroup.es\u002Ftienda\u002Fdonacion\" rel=\"nofollow ugc\">small donation\u003C\u002Fa> that will help us to continue improving this plugin and create more plugins totally free for the entire WordPress community.\u003C\u002Fp>\n\u003Ch3>Thanks\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>To all that use it.\u003C\u002Fli>\n\u003Cli>All those who help improve it.\u003C\u002Fli>\n\u003Cli>All those who made donations.\u003C\u002Fli>\n\u003Cli>All those who encourage us with their comments.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Thank you very much to all!\u003C\u002Fp>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\n\u003Cp>To the GeoNames services to download and update, on a monthly basis, the full local database of cities and postcodes, as well as to perform queries to its API when there is no information in the local database.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>It sends the country and the postcode.\u003C\u002Fli>\n\u003Cli>More information: https:\u002F\u002Fwww.geonames.org\u002Fexport\u002F\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>To the Google Maps API to obtain the city and state\u002Fprovince name from the postcode and country when this option is selected in the plugin settings.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>It sends the country and the postcode.\u003C\u002Fli>\n\u003Cli>More information: https:\u002F\u002Fpolicies.google.com\u002Fprivacy\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n","Add to WooCommerce an automatic city name generated from postcode.",100,7500,94,3,"2026-02-10T11:35:00.000Z","6.9.4","5.0","",[20,21,22,23,24],"city","geonames","google-maps","postcode","state","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwc-apg-city\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwc-apg-city.2.0.4.zip",0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":35,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"artprojectgroup",9,19380,95,258,76,"2026-04-04T10:55:46.068Z",[40,60,83,102,121],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":11,"num_ratings":33,"last_updated":50,"tested_up_to":16,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":58,"download_link":59,"security_score":11,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"portugal-states-distritos-for-woocommerce","Portugal States (Distritos) for WooCommerce","4.2","Marco Almeida | Webdados","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebdados\u002F","\u003Cp>This plugin adds the 18 Portuguese “States” (known as “Distritos”) plus the 2 Autonomous Regions (known as “Regiões Autónomas”, Madeira and Açores) to WooCommerce.\u003C\u002Fp>\n\u003Cp>Also sets the right name for “Districts” and the correct “Postcode”\u002F“City” order and the correct address format for Portugal.\u003C\u002Fp>\n\u003Cp>And… that’s pretty much it.\u003C\u002Fp>\n\u003Cp>Banner photo by \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fphotos\u002Fphoto\u002F13866332ac\u002F\" rel=\"ugc\">Nilo Velez\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Adds the Portuguese “States”, known as “Distritos”, to WooCommerce\u003C\u002Fli>\n\u003Cli>Sets the correct address format for Portugal, including the correct “Postal Code”\u002F“City” positioning on the checkout\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Do your customers still write the full address details manually on the checkout?\u003C\u002Fh4>\n\u003Cp>Activate the automatic filling of the address details at the checkout, including street name and neighbourhood, based on the postal, avoiding incorrect data at the time of shipping, with our plugin \u003Ca href=\"https:\u002F\u002Fnakedcatplugins.com\u002Fproduct\u002Fportuguese-postcodes-for-woocommerce-technical-support\u002F\" rel=\"nofollow ugc\">Portuguese Postcodes for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>The Portuguese Postcodes plugin can also do a district-postcode cross validation on checkout and guarantee they match.\u003C\u002Fp>\n\u003Ch4>Are you already issuing automatic invoices on your WooCommerce store?\u003C\u002Fh4>\n\u003Cp>If not, get to know our new plugin: \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-billing-with-invoicexpress\u002F\" rel=\"ugc\">Invoicing with InvoiceXpress for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Other (premium) plugins\u003C\u002Fh4>\n\u003Cp>Already know our other WooCommerce (premium) plugins?\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fnakedcatplugins.com\u002Fproduct\u002Fportuguese-postcodes-for-woocommerce-technical-support\u002F\" rel=\"nofollow ugc\">Portuguese Postcodes for WooCommerce\u003C\u002Fa> – Automatic filling of the address details at the checkout, including street name and neighborhood, based on the postal code\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Finvoicewoo.com\u002F\" rel=\"nofollow ugc\">Invoicing with InvoiceXpress for WooCommerce\u003C\u002Fa> – Automatically issue invoices directly from the WooCommerce order\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fnakedcatplugins.com\u002Fproduct\u002Fdpd-portugal-for-woocommerce\u002F\" rel=\"nofollow ugc\">DPD Portugal for WooCommerce\u003C\u002Fa> – Create shipping and return guide in the DPD webservice directly from the WooCommerce order\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fnakedcatplugins.com\u002Fproduct\u002Ffeed-kuantokusta-for-woocommerce-pro\u002F\" rel=\"nofollow ugc\">Feed KuantoKusta for WooCommerce\u003C\u002Fa> – Publish your products on Kuanto Kusta with this easy to use feed generator\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fnakedcatplugins.com\u002Fproduct\u002Fmultibanco-mbway-credit-card-payshop-ifthenpay-woocommerce-pro-add-on\u002F\" rel=\"nofollow ugc\">Multibanco, MBWAY, Credit card, Payshop and Cofidis Pay for WooCommerce – PRO add-on\u003C\u002Fa> – Extra features for the plugin you already trust to receive payments on your WooCommerce store\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fnakedcatplugins.com\u002Fproduct\u002Fsimple-custom-fields-for-woocommerce-blocks-checkout\u002F\" rel=\"nofollow ugc\">Simple Checkout Fields Manager for WooCommerce\u003C\u002Fa> – Add custom fields and manage (remove, make required or optional) core fields on the new WooCommerce Block-based Checkout\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fnakedcatplugins.com\u002Fproduct\u002Fsimple-woocommerce-order-approval\u002F\" rel=\"nofollow ugc\">Simple WooCommerce Order Approval\u003C\u002Fa> – The hassle-free solution for WooCommerce order approval before payment\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fnakedcatplugins.com\u002Fproduct\u002Fshop-as-client-for-woocommerce-pro-add-on\u002F\" rel=\"nofollow ugc\">Shop as Client for WooCommerce\u003C\u002Fa> – Quickly create orders on behalf of your customers\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fnakedcatplugins.com\u002Fproduct\u002Ftaxonomy-term-and-role-based-discounts-for-woocommerce-pro-add-on\u002F\" rel=\"nofollow ugc\">Taxonomy\u002FTerm and Role based Discounts for WooCommerce\u003C\u002Fa> – Easily create bulk discount rules for products based on any taxonomy terms (built-in or custom)\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fnakedcatplugins.com\u002Fproduct\u002Fdpd-seur-geopost-pickup-and-lockers-network-for-woocommerce\u002F\" rel=\"nofollow ugc\">DPD \u002F SEUR \u002F Geopost Pickup and Lockers network for WooCommerce\u003C\u002Fa> – Deliver your WooCommerce orders on the DPD and SEUR Pickup network of Parcelshops and Lockers in 21 European countries\u003C\u002Fli>\n\u003C\u002Ful>\n","This plugin adds the Portuguese “States”, known as “Distritos”, to WooCommerce and sets the correct address format for Portugal.",5000,71089,"2025-12-11T19:11:00.000Z","5.8","7.2",[54,55,56,23,57],"address","districts","portugal","states","https:\u002F\u002Fwww.webdados.pt\u002Fwordpress\u002Fplugins\u002Fportugal-states-distritos-woocommerce-wordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fportugal-states-distritos-for-woocommerce.4.2.zip",{"slug":61,"name":62,"version":63,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":68,"downloaded":69,"rating":27,"num_ratings":27,"last_updated":70,"tested_up_to":71,"requires_at_least":72,"requires_php":73,"tags":74,"homepage":78,"download_link":79,"security_score":37,"vuln_count":80,"unpatched_count":81,"last_vuln_date":82,"fetched_at":29},"acf-city-selector","ACF City Selector","1.17.0","Beee","https:\u002F\u002Fprofiles.wordpress.org\u002Fbeee\u002F","\u003Cp>ACF City Selector is an extension for Advanced Custom Fields which creates a new field where you can select a city, depending on country and province\u002Fstate.\u003C\u002Fp>\n\u003Ch4>Added field\u003C\u002Fh4>\n\u003Cp>3 select options\u003Cbr \u002F>\n* country\u003Cbr \u002F>\n* state\u002Fprovince\u003Cbr \u002F>\n* city\u003C\u002Fp>\n\u003Ch4>Plugin website\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Facf-city-selector.com\" rel=\"nofollow ugc\">https:\u002F\u002Facf-city-selector.com\u003C\u002Fa>\u003C\u002Fp>\n","This plugin adds a new (ACF) field to select a city depending on country and state\u002Fprovince.",200,9541,"2025-08-28T08:57:00.000Z","6.8.5","3.6.0","7.0",[75,20,76,77,24],"advanced-custom-fields","country","province","https:\u002F\u002Facf-city-selector.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Facf-city-selector.1.17.0.zip",2,1,"2025-04-01 00:00:00",{"slug":84,"name":85,"version":86,"author":87,"author_profile":88,"description":89,"short_description":90,"active_installs":11,"downloaded":91,"rating":27,"num_ratings":27,"last_updated":92,"tested_up_to":93,"requires_at_least":94,"requires_php":18,"tags":95,"homepage":99,"download_link":100,"security_score":101,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"region-city-landing-pages-builder","Region City Landing Pages Builder","1.0.0","sukanyasoftwares","https:\u002F\u002Fprofiles.wordpress.org\u002Fsukanyasoftwares\u002F","\u003Cp>This plugin builds Multiple WordPress Pages with the provided city name in the title and body. Allows for parent pages, page template, page titles and contents. The total number of pages created will be the number of lines entered with the combination of city and state in city name, state format.\u003C\u002Fp>\n\u003Cp>Easily build multiple city pages at once geo-targeted landing pages for your services. Creating multiple of pages for different cities can be very time consuming process. Here at sukanyasoftwares we have tried to simplify this process by creating a plugin what generates multiple pages with similar contents but different titles and city names depending on the use of the shortcode. This shortcode will automatically add in the city name for each auto-generated page.\u003C\u002Fp>\n\u003Cp>By the use of simple form, in this plugin can build multiple pages quickly and easily. In fact, you can use it for more than just cities. Say you want to create pages about various types of sports quickly, simple input a list of sports and your base copy, and you’re ready to go! You can set these new pages to draft or published, but we recommend customizing each page to give a unique experience.\u003C\u002Fp>\n\u003Ch4>SEO Tips\u003C\u002Fh4>\n\u003Cp>We recommend creating city-targeted pages in bulk, then customizing the content for each page. Ideally, more than half of the content on a city landing page should be unique to that page and over 500 words in length.\u003C\u002Fp>\n\u003Cp>When the plugin creates a page, it will add a Custom Field for the city name. You can use Page Templates to automate the customization process by adding Google Maps, Weather and other localization to a page.\u003C\u002Fp>\n\u003Cp>Be sure to include an Opt-In form to capture user information.\u003C\u002Fp>\n\u003Ch4>About Sukanyasoftwares\u003C\u002Fh4>\n\u003Cp>Sukanya Softwares a group venture promoted by qualified technocrats and team of developers providing service to the clients worldwide since last 5+ years.We create Mobile Optimized WordPress Websites, write content for SEO and Social media.\u003Cbr \u002F>\nWe also worked on custom post types, child themes,shortcodes and plugins creation and customization.Payment Gateway API integration.Wordpress theme customization.A group of dedicated professionals having distinct experience and long association with the industry.\u003C\u002Fp>\n\u003Cp>For questions about services or support for this plugin, please visit our website at: [link] (http:\u002F\u002Fsukanyasoftwares.com).\u003C\u002Fp>\n","Build Multiple Geographically Targeted Landing Pages Quickly Using Generic Text & Automatically Inserted City Names.",3342,"2021-03-11T10:36:00.000Z","5.7.15","3.0.1",[20,96,97,98,57],"landing-pages","multiple","region","http:\u002F\u002Fsukanyasoftwares.com\u002Fshop\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fregion-city-landing-pages-builder.zip",85,{"slug":103,"name":104,"version":86,"author":105,"author_profile":106,"description":107,"short_description":108,"active_installs":109,"downloaded":110,"rating":27,"num_ratings":27,"last_updated":111,"tested_up_to":16,"requires_at_least":112,"requires_php":113,"tags":114,"homepage":18,"download_link":120,"security_score":11,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"city-zip-based-shipping-rate-for-woocommerce","City & Zip Based Shipping Rate for WooCommerce","Codiepress","https:\u002F\u002Fprofiles.wordpress.org\u002Fcodiepress\u002F","\u003Cp>\u003Cstrong>City & Zip Based Shipping Rate for WooCommerce\u003C\u002Fstrong> makes location-based delivery pricing simple. If your shipping cost depends on where your customers live, this plugin gives you the tools to charge correctly and stay profitable.\u003C\u002Fp>\n\u003Cp>Add a shipping rate line item and assign \u003Cstrong>multiple cities\u003C\u002Fstrong> and \u003Cstrong>multiple ZIP\u002FPostcodes\u003C\u002Fstrong> under that rate. Then choose how you want shipping cost to be calculated:\u003C\u002Fp>\n\u003Cp>✔ Fixed price\u003Cbr \u002F>\n✔ Based on total cart weight\u003Cbr \u002F>\n✔ Based on quantity of items in the cart\u003Cbr \u002F>\n✔ Based on cart subtotal value\u003C\u002Fp>\n\u003Cp>This flexibility allows online stores to apply accurate delivery charges depending on the area and order size. You can \u003Cstrong>exclude virtual products\u003C\u002Fstrong> from cost calculations to ensure only shippable items are considered.\u003C\u002Fp>\n\u003Cp>The free version allows up to \u003Cstrong>10 cities and 10 ZIP\u002FPostcodes per rate item\u003C\u002Fstrong> — perfect for small delivery zones. Need more? Upgrade to Pro for unlimited locations and large coverage areas.\u003C\u002Fp>\n\u003Cp>If a customer enters a location outside your service area, you can:\u003C\u002Fp>\n\u003Cp>❌ Hide shipping methods completely\u003Cbr \u002F>\n✅ OR apply a custom fallback shipping cost\u003C\u002Fp>\n\u003Cp>This ensures customers only see the delivery options that match your business capability.\u003C\u002Fp>\n\u003Ch3>✅ Why This Plugin Helps Your Business\u003C\u002Fh3>\n\u003Cp>Because shipping costs are not the same everywhere!\u003C\u002Fp>\n\u003Cp>Different areas require different delivery pricing strategies:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Some cities may be closer \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> lower shipping fee  \u003C\u002Fli>\n\u003Cli>Remote ZIP codes may require higher charges  \u003C\u002Fli>\n\u003Cli>Expensive courier zones may need extra handling fees  \u003C\u002Fli>\n\u003Cli>Certain ZIP\u002FPostcodes may not be serviceable at all  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>With this plugin, \u003Cstrong>you control where and how much you deliver\u003C\u002Fstrong> — no guessing and no profit loss.\u003C\u002Fp>\n\u003Cp>Ideal for:\u003C\u002Fp>\n\u003Cp>🏪 Local retail shops\u003Cbr \u002F>\n🍔 Food & grocery delivery\u003Cbr \u002F>\n📦 Courier and parcel delivery\u003Cbr \u002F>\n🏗️ Hardware & building supply stores\u003Cbr \u002F>\n🛋️ Furniture, appliances & heavy products\u003Cbr \u002F>\n🏥 Pharmacy, florist & urgent delivery businesses\u003Cbr \u002F>\n🎯 City-restricted or postcode-limited shipping zones\u003C\u002Fp>\n\u003Ch3>✅ Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Create delivery rate items based on City or ZIP\u002FPostcode  \u003C\u002Fli>\n\u003Cli>Add multiple location values per shipping cost item  \u003C\u002Fli>\n\u003Cli>Charge a flat delivery fee or a dynamic one  \u003C\u002Fli>\n\u003Cli>Define pricing using weight, quantity, or subtotal  \u003C\u002Fli>\n\u003Cli>Exclude virtual products from calculation  \u003C\u002Fli>\n\u003Cli>Hide shipping if location does not match  \u003C\u002Fli>\n\u003Cli>Choose default fallback cost for unmatched areas  \u003C\u002Fli>\n\u003Cli>Works with all shipping zones  \u003C\u002Fli>\n\u003Cli>Fast setup — no coding required  \u003C\u002Fli>\n\u003Cli>Lightweight and optimized for performance  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🚀 Upgrade to Pro for More Power\u003C\u002Fh3>\n\u003Cp>✅ Unlimited cities per rate item\u003Cbr \u002F>\n✅ Unlimited ZIP\u002FPostcodes per rate item\u003Cbr \u002F>\n✅ Dedicated priority support\u003Cbr \u002F>\n✅ Frequent feature enhancements\u003C\u002Fp>\n\u003Cp>Designed for growing businesses with large delivery coverage.\u003C\u002Fp>\n\u003Ch3>🙌 About\u003C\u002Fh3>\n\u003Cp>If you enjoy this plugin, please leave us a 5-star review and help it grow! ⭐⭐⭐⭐⭐\u003C\u002Fp>\n","Flexible WooCommerce shipping by City or ZIP\u002FPostcode — charge fixed, weight-based, quantity or subtotal delivery fees for accurate pricing.",30,363,"2026-03-04T07:59:00.000Z","6.2","7.4",[115,116,117,118,119],"city-based-shipping","local-delivery","postcode-shipping","shipping-rate","zip-code-shipping","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcity-zip-based-shipping-rate-for-woocommerce.1.0.0.zip",{"slug":122,"name":123,"version":124,"author":125,"author_profile":126,"description":127,"short_description":128,"active_installs":129,"downloaded":130,"rating":11,"num_ratings":14,"last_updated":131,"tested_up_to":132,"requires_at_least":133,"requires_php":18,"tags":134,"homepage":18,"download_link":136,"security_score":101,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"add-zip-codes-to-posts","USA Zip Codes by WP Monsters","1.1","WordPress Monsters","https:\u002F\u002Fprofiles.wordpress.org\u002Fwordpress-monsters\u002F","\u003Cp>Plugin contains American zip code database. You can activate this plugin for any post type in settings. After activation you can set zip codes for all of your posts. To connect zip code with the post you should do only 3 steps: 1) Choose State ( then the plugin will display all available cities in the chosen state)  2) Choose City ( then you will see all available Zip codes in this city)\u003Cbr \u002F>\n3) Choose Zip code. Also you can connect several zip codes to one post. Use ID, ‘zipFields’, true ); ?>to get an array of connected zip codes.\u003C\u002Fp>\n","Choose USA zip codes for your post types.",10,1934,"2017-02-09T10:40:00.000Z","4.7.32","4.2.2",[20,24,135],"zip-code","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadd-zip-codes-to-posts.zip",{"attackSurface":138,"codeSignals":215,"taintFlows":239,"riskAssessment":284,"analyzedAt":295},{"hooks":139,"ajaxHandlers":197,"restRoutes":211,"shortcodes":212,"cronEvents":213,"entryPointCount":214,"unprotectedCount":214},[140,146,151,155,160,164,168,172,176,180,184,189,192],{"type":141,"name":142,"callback":143,"file":144,"line":145},"filter","cron_schedules","apg_city_cron_schedules","apg-city.php",50,{"type":147,"name":148,"callback":149,"file":144,"line":150},"action","init","apg_city_schedule_updates",52,{"type":147,"name":152,"callback":153,"file":144,"line":154},"before_woocommerce_init","closure",65,{"type":147,"name":156,"callback":157,"priority":158,"file":144,"line":159},"admin_menu","apg_city_admin_menu",15,91,{"type":147,"name":161,"callback":162,"file":144,"line":163},"admin_init","apg_city_registra_opciones",146,{"type":141,"name":165,"callback":166,"file":144,"line":167},"woocommerce_screen_ids","apg_city_screen_id",160,{"type":141,"name":169,"callback":170,"file":144,"line":171},"woocommerce_default_address_fields","apg_city_campos_de_direccion",269,{"type":147,"name":173,"callback":174,"file":144,"line":175},"wp_footer","apg_city_codigo_javascript_en_checkout",270,{"type":147,"name":177,"callback":178,"file":144,"line":179},"woocommerce_checkout_process","apg_city_validacion_de_campo",292,{"type":147,"name":181,"callback":182,"file":144,"line":183},"admin_notices","apg_city_requiere_wc",294,{"type":141,"name":185,"callback":186,"priority":129,"file":187,"line":188},"plugin_row_meta","apg_city_enlaces","includes\\admin\\funciones-apg.php",66,{"type":147,"name":190,"callback":191,"file":187,"line":167},"admin_enqueue_scripts","apg_city_estilo",{"type":147,"name":193,"callback":194,"file":195,"line":196},"enqueue_block_assets","apg_city_enqueue_blocks_assets","includes\\bloques.php",92,[198,203,206,209],{"action":199,"nopriv":200,"callback":201,"hasNonce":200,"hasCapCheck":200,"file":144,"line":202},"apg_city_lookup",false,"apg_city_ajax_lookup",56,{"action":199,"nopriv":204,"callback":201,"hasNonce":200,"hasCapCheck":200,"file":144,"line":205},true,57,{"action":207,"nopriv":200,"callback":207,"hasNonce":200,"hasCapCheck":200,"file":144,"line":208},"apg_city_api_lookup",58,{"action":207,"nopriv":204,"callback":207,"hasNonce":200,"hasCapCheck":200,"file":144,"line":210},59,[],[],[],4,{"dangerousFunctions":216,"sqlUsage":217,"outputEscaping":227,"fileOperations":81,"externalRequests":14,"nonceChecks":80,"capabilityChecks":27,"bundledLibraries":238},[],{"prepared":218,"raw":80,"locations":219},8,[220,223],{"file":144,"line":221,"context":222},330,"$wpdb->query() with variable interpolation",{"file":224,"line":225,"context":226},"includes\\geonames-local.php",402,"$wpdb->get_var() with variable interpolation",{"escaped":228,"rawEcho":14,"locations":229},74,[230,233,236],{"file":144,"line":231,"context":232},307,"raw output",{"file":234,"line":235,"context":232},"includes\\formulario.php",21,{"file":234,"line":237,"context":232},28,[],[240,258,271],{"entryPoint":241,"graph":242,"unsanitizedCount":27,"severity":257},"apg_city_api_lookup (includes\\geonames-local.php:418)",{"nodes":243,"edges":255},[244,249],{"id":245,"type":246,"label":247,"file":224,"line":248},"n0","source","$_POST (x2)",424,{"id":250,"type":251,"label":252,"file":224,"line":253,"wp_function":254},"n1","sink","wp_remote_get() [SSRF]",462,"wp_remote_get",[256],{"from":245,"to":250,"sanitized":204},"low",{"entryPoint":259,"graph":260,"unsanitizedCount":27,"severity":257},"apg_city_ajax_lookup (includes\\geonames-local.php:624)",{"nodes":261,"edges":269},[262,265],{"id":245,"type":246,"label":263,"file":224,"line":264},"$_POST",628,{"id":250,"type":251,"label":266,"file":224,"line":267,"wp_function":268},"get_results() [SQLi]",651,"get_results",[270],{"from":245,"to":250,"sanitized":204},{"entryPoint":272,"graph":273,"unsanitizedCount":27,"severity":257},"\u003Cgeonames-local> (includes\\geonames-local.php:0)",{"nodes":274,"edges":281},[275,276,277,279],{"id":245,"type":246,"label":247,"file":224,"line":248},{"id":250,"type":251,"label":252,"file":224,"line":253,"wp_function":254},{"id":278,"type":246,"label":263,"file":224,"line":264},"n2",{"id":280,"type":251,"label":266,"file":224,"line":267,"wp_function":268},"n3",[282,283],{"from":245,"to":250,"sanitized":204},{"from":278,"to":280,"sanitized":204},{"summary":285,"deductions":286},"The \"wc-apg-city\" plugin v2.0.4 exhibits a concerning security posture primarily due to its extensive use of unprotected AJAX handlers.  While the code analysis reveals good practices in SQL query preparation and output escaping, the presence of four AJAX handlers without any authentication checks represents a significant attack surface. This means any unauthenticated user could potentially trigger these functions, leading to unintended actions or information disclosure depending on their implementation. The taint analysis shows no critical or high severity unsanitized flows, and the plugin has a clean vulnerability history with no known CVEs, which are positive indicators. However, the lack of capability checks and the reliance on unauthenticated AJAX endpoints overshadow these strengths.",[287,290,292],{"reason":288,"points":289},"4 unprotected AJAX handlers",20,{"reason":291,"points":129},"0 capability checks",{"reason":293,"points":294},"2 nonce checks (implies missing on others)",5,"2026-03-16T21:13:54.075Z",{"wat":297,"direct":306},{"assetPaths":298,"generatorPatterns":301,"scriptPaths":302,"versionParams":303},[299,300],"\u002Fwp-content\u002Fplugins\u002Fwc-apg-city\u002Fassets\u002Fjs\u002Fapg-city-campo.js","\u002Fwp-content\u002Fplugins\u002Fwc-apg-city\u002Fassets\u002Fcss\u002Fapg-cigy-classic.css",[],[299],[304,305],"wc-apg-city\u002Fassets\u002Fjs\u002Fapg-city-campo.js?ver=","wc-apg-city\u002Fassets\u002Fcss\u002Fapg-cigy-classic.css?ver=",{"cssClasses":307,"htmlComments":309,"htmlAttributes":311,"restEndpoints":314,"jsGlobals":317,"shortcodeOutput":319},[308],"apg-city-campo-readonly",[310],"\u003C!-- Igual no deberías poder abrirme. -->",[312,313],"readonly","data-readonly-color",[315,316],"\u002Fwp-json\u002Fapg-city\u002Fv1\u002Flookup","\u002Fwp-json\u002Fapg-city\u002Fv1\u002Fapi-lookup",[318],"apg_city_data",[]]