[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fqsSTwQl9-P1kgd2xHNSJ45qSEWeprNe5JPoVziE8LVk":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":18,"download_link":23,"security_score":24,"vuln_count":25,"unpatched_count":25,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":36,"analysis":133,"fingerprints":259},"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,100,3,"2017-02-09T10:40:00.000Z","4.7.32","4.2.2","",[20,21,22],"city","state","zip-code","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadd-zip-codes-to-posts.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":30,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":32,"avg_security_score":24,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},"wordpress-monsters",4,130,30,84,"2026-04-04T15:27:32.591Z",[37,61,80,99,117],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":25,"num_ratings":25,"last_updated":47,"tested_up_to":48,"requires_at_least":49,"requires_php":50,"tags":51,"homepage":55,"download_link":56,"security_score":57,"vuln_count":58,"unpatched_count":59,"last_vuln_date":60,"fetched_at":27},"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",[52,20,53,54,21],"advanced-custom-fields","country","province","https:\u002F\u002Facf-city-selector.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Facf-city-selector.1.17.0.zip",76,2,1,"2025-04-01 00:00:00",{"slug":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":13,"downloaded":69,"rating":25,"num_ratings":25,"last_updated":70,"tested_up_to":71,"requires_at_least":72,"requires_php":18,"tags":73,"homepage":78,"download_link":79,"security_score":24,"vuln_count":25,"unpatched_count":25,"last_vuln_date":26,"fetched_at":27},"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,74,75,76,77],"landing-pages","multiple","region","states","http:\u002F\u002Fsukanyasoftwares.com\u002Fshop\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fregion-city-landing-pages-builder.zip",{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":13,"downloaded":88,"rating":89,"num_ratings":14,"last_updated":90,"tested_up_to":91,"requires_at_least":92,"requires_php":18,"tags":93,"homepage":97,"download_link":98,"security_score":13,"vuln_count":25,"unpatched_count":25,"last_vuln_date":26,"fetched_at":27},"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.",7500,94,"2026-02-10T11:35:00.000Z","6.9.4","5.0",[20,94,95,96,21],"geonames","google-maps","postcode","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwc-apg-city\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwc-apg-city.2.0.4.zip",{"slug":100,"name":101,"version":64,"author":102,"author_profile":103,"description":104,"short_description":105,"active_installs":33,"downloaded":106,"rating":25,"num_ratings":25,"last_updated":107,"tested_up_to":91,"requires_at_least":108,"requires_php":109,"tags":110,"homepage":18,"download_link":116,"security_score":13,"vuln_count":25,"unpatched_count":25,"last_vuln_date":26,"fetched_at":27},"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.",363,"2026-03-04T07:59:00.000Z","6.2","7.4",[111,112,113,114,115],"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":118,"name":119,"version":64,"author":120,"author_profile":121,"description":122,"short_description":123,"active_installs":11,"downloaded":124,"rating":25,"num_ratings":25,"last_updated":125,"tested_up_to":126,"requires_at_least":127,"requires_php":50,"tags":128,"homepage":18,"download_link":132,"security_score":24,"vuln_count":25,"unpatched_count":25,"last_vuln_date":26,"fetched_at":27},"na-e-commerce-egypt-cities-states","NA E-Commerce Egypt Cities\u002FStates","peter Napoleon","https:\u002F\u002Fprofiles.wordpress.org\u002Fpeternapoleon\u002F","\u003Cp>Help to add all Egypt Cities\u002FStates for WooCommerce Check Out, And Setup to be transleted With WPML Plugin .\u003C\u002Fp>\n","Help to add all Egypt Cities\u002FStates for WooCommerce Check Out, And Setup to be transleted With WPML Plugin .",764,"2023-03-23T20:39:00.000Z","6.1.10","4.7",[129,20,130,77,131],"cities","egypt","woocommerce","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fna-e-commerce-egypt-cities-states.zip",{"attackSurface":134,"codeSignals":172,"taintFlows":201,"riskAssessment":237,"analyzedAt":258},{"hooks":135,"ajaxHandlers":154,"restRoutes":169,"shortcodes":170,"cronEvents":171,"entryPointCount":31,"unprotectedCount":31},[136,142,146,150],{"type":137,"name":138,"callback":139,"file":140,"line":141},"action","admin_enqueue_scripts","add_styles_js","zip-codes.php",27,{"type":137,"name":143,"callback":144,"file":140,"line":145},"admin_menu","create_zip_codes_menu",37,{"type":137,"name":147,"callback":148,"file":140,"line":149},"add_meta_boxes","add_zips_blocks_to_post",109,{"type":137,"name":151,"callback":152,"priority":11,"file":140,"line":153},"save_post","save_zip_meta",206,[155,160,163,167],{"action":156,"nopriv":157,"callback":158,"hasNonce":157,"hasCapCheck":157,"file":140,"line":159},"addCities",false,"prefix_ajax_addCities",170,{"action":156,"nopriv":161,"callback":158,"hasNonce":157,"hasCapCheck":157,"file":140,"line":162},true,171,{"action":164,"nopriv":157,"callback":165,"hasNonce":157,"hasCapCheck":157,"file":140,"line":166},"addZip","prefix_ajax_addZip",188,{"action":164,"nopriv":161,"callback":165,"hasNonce":157,"hasCapCheck":157,"file":140,"line":168},189,[],[],[],{"dangerousFunctions":173,"sqlUsage":174,"outputEscaping":184,"fileOperations":59,"externalRequests":25,"nonceChecks":25,"capabilityChecks":25,"bundledLibraries":200},[],{"prepared":14,"raw":14,"locations":175},[176,179,182],{"file":140,"line":177,"context":178},86,"$wpdb->get_var() with variable interpolation",{"file":140,"line":180,"context":181},176,"$wpdb->get_results() with variable interpolation",{"file":140,"line":183,"context":181},194,{"escaped":25,"rawEcho":185,"locations":186},6,[187,190,192,194,196,198],{"file":140,"line":188,"context":189},65,"raw output",{"file":140,"line":191,"context":189},73,{"file":140,"line":193,"context":189},139,{"file":140,"line":195,"context":189},162,{"file":140,"line":197,"context":189},181,{"file":140,"line":199,"context":189},199,[],[202,219,228],{"entryPoint":203,"graph":204,"unsanitizedCount":59,"severity":218},"prefix_ajax_addCities (zip-codes.php:172)",{"nodes":205,"edges":216},[206,211],{"id":207,"type":208,"label":209,"file":140,"line":210},"n0","source","$_POST",174,{"id":212,"type":213,"label":214,"file":140,"line":180,"wp_function":215},"n1","sink","get_results() [SQLi]","get_results",[217],{"from":207,"to":212,"sanitized":157},"high",{"entryPoint":220,"graph":221,"unsanitizedCount":59,"severity":218},"prefix_ajax_addZip (zip-codes.php:190)",{"nodes":222,"edges":226},[223,225],{"id":207,"type":208,"label":209,"file":140,"line":224},192,{"id":212,"type":213,"label":214,"file":140,"line":183,"wp_function":215},[227],{"from":207,"to":212,"sanitized":157},{"entryPoint":229,"graph":230,"unsanitizedCount":58,"severity":218},"\u003Czip-codes> (zip-codes.php:0)",{"nodes":231,"edges":235},[232,234],{"id":207,"type":208,"label":233,"file":140,"line":210},"$_POST (x2)",{"id":212,"type":213,"label":214,"file":140,"line":180,"wp_function":215},[236],{"from":207,"to":212,"sanitized":157},{"summary":238,"deductions":239},"The 'add-zip-codes-to-posts' plugin version 1.1 presents a significant security risk primarily due to its unprotected AJAX handlers and unsanitized data flows.  While there's no reported vulnerability history, this does not mitigate the immediate concerns identified in the static analysis.  The plugin has four AJAX entry points, all of which lack authentication checks, meaning any logged-in user could potentially trigger these actions.  Furthermore, the taint analysis revealed three critical-severity flows with unsanitized paths, strongly suggesting that user-supplied data is being processed in a way that could lead to code execution or other severe exploits.  The complete absence of nonce checks and capability checks on these AJAX handlers exacerbates this risk, as there are no built-in protections against Cross-Site Request Forgery (CSRF) or privilege escalation attempts.  The lack of proper output escaping on all identified outputs is also a major concern, opening the door for Cross-Site Scripting (XSS) attacks.  While the use of prepared statements for 50% of SQL queries is a positive sign, the remaining queries are likely vulnerable.  The presence of file operations and the potential for raw SQL queries to be used with unsanitized input further increase the attack surface.  Despite a clean vulnerability history, the current code analysis indicates a highly vulnerable plugin that requires immediate attention.",[240,242,245,247,249,252,255],{"reason":241,"points":11},"AJAX handlers without auth checks",{"reason":243,"points":244},"Critical severity taint flows",15,{"reason":246,"points":11},"No nonce checks on AJAX handlers",{"reason":248,"points":11},"No capability checks on AJAX handlers",{"reason":250,"points":251},"No output escaping",8,{"reason":253,"points":254},"File operations detected",5,{"reason":256,"points":257},"SQL queries without prepared statements",7,"2026-03-17T05:40:02.758Z",{"wat":260,"direct":269},{"assetPaths":261,"generatorPatterns":264,"scriptPaths":265,"versionParams":266},[262,263],"\u002Fwp-content\u002Fplugins\u002Fadd-zip-codes-to-posts\u002Fzip-codes\u002Fcss\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Fadd-zip-codes-to-posts\u002Fzip-codes\u002Fjs\u002Fzip-codes.js",[],[263],[267,268],"add-zip-codes-to-posts\u002Fzip-codes\u002Fcss\u002Fstyle.css?ver=","add-zip-codes-to-posts\u002Fzip-codes\u002Fjs\u002Fzip-codes.js?ver=",{"cssClasses":270,"htmlComments":280,"htmlAttributes":281,"restEndpoints":286,"jsGlobals":287,"shortcodeOutput":288},[271,272,273,274,275,276,277,278,279],"wrap-selects","select-item","wait","zip-items","row","name-tag","value-tag","zip-row","clearfix",[],[282,283,284,285],"id=\"field-state\"","id=\"field-city\"","id=\"field-zip\"","id=\"delSavedRow\"",[],[],[]]