{"id":321050,"date":"2026-06-10T08:50:49","date_gmt":"2026-06-10T08:50:49","guid":{"rendered":"https:\/\/en-gb.wordpress.org\/plugins\/yuvi-shipping-calculator-for-woocommerce\/"},"modified":"2026-06-10T08:50:28","modified_gmt":"2026-06-10T08:50:28","slug":"pirajki-admin-shipping-rates-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/pirajki-admin-shipping-rates-for-woocommerce\/","author":20115528,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.3","stable_tag":"1.0.3","tested":"7.0","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Pirajki Shipping Calculator for WooCommerce","header_author":"pirajki","header_description":"Automatically calculates and applies shipping rates in the WooCommerce admin order screen. Supports Advanced Shipping plugin, auto-applies the highest rate on postcode change, and shows all available methods. Compatible with WooCommerce HPOS.","assets_banners_color":"","last_updated":"2026-06-10 08:50:28","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.yogiraj.co.in\/plugins\/shipping-calculator","header_author_uri":"https:\/\/www.yogiraj.co.in\/plugins","rating":0,"author_block_rating":0,"active_installs":0,"downloads":29,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"pirajki","date":"2026-06-10 08:50:28"}},"upgrade_notice":{"1.0.3":"<p>Code quality and WordPress.org compliance fixes. Update recommended.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The shipping calculator panel below the order items table, showing available rates with the highest auto-applied","2":"Manual cost entry fallback when no rates are found","3":"Rate applied confirmation with the order total updated"}},"plugin_section":[],"plugin_tags":[83,5149,3546,5140,286],"plugin_category":[45],"plugin_contributors":[266455],"plugin_business_model":[],"class_list":["post-321050","plugin","type-plugin","status-publish","hentry","plugin_tags-admin","plugin_tags-advanced-shipping","plugin_tags-shipping","plugin_tags-shipping-calculator","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-pirajki","plugin_committers-pirajki"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/pirajki-admin-shipping-rates-for-woocommerce.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Pirajki Shipping Calculator for WooCommerce<\/strong> solves a common problem: when creating manual orders in the WooCommerce admin, shipping rates are not automatically calculated from the customer's postcode the way they are on the front end.<\/p>\n\n<p>This plugin adds intelligent shipping rate lookup directly to the order edit screen:<\/p>\n\n<ul>\n<li><strong>Auto-calculates rates<\/strong> whenever the shipping postcode changes \u2014 no button click needed<\/li>\n<li><strong>Auto-applies the highest rate<\/strong> immediately so you never under-charge<\/li>\n<li><strong>Shows all available methods<\/strong> as a selectable list so you can override the auto-selected rate<\/li>\n<li><strong>Manual fallback<\/strong> \u2014 if no rates are found you can enter a label and cost manually<\/li>\n<li><strong>Country auto-detection<\/strong> \u2014 correctly resolves Guernsey (GY\u2192GG), Jersey (JE), and Isle of Man (IM) postcodes that the WC admin often leaves as GB<\/li>\n<li><strong>Compatible with Advanced Shipping plugin<\/strong> (WAS_Advanced_Shipping_Method) \u2014 queries its condition groups directly<\/li>\n<li><strong>HPOS compatible<\/strong> \u2014 works with WooCommerce High-Performance Order Storage<\/li>\n<li><strong>Secure<\/strong> \u2014 nonce-verified AJAX, full capability checks, all inputs sanitised<\/li>\n<\/ul>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>Open any order in WooCommerce admin<\/li>\n<li>Enter a postcode in the shipping or billing address fields<\/li>\n<li>Rates are fetched and the highest cost rate is applied automatically<\/li>\n<li>All available rates are shown \u2014 click a different one and press <strong>Apply selected rate<\/strong> to override<\/li>\n<li>The order items panel updates in real time<\/li>\n<\/ol>\n\n<h4>Developer Hooks<\/h4>\n\n<p><strong>Filters:<\/strong><\/p>\n\n<pre><code>pirajki_sc_found_rates \u2014 modify the array of rates before they are shown to the admin.\npirajki_sc_auto_apply_rate \u2014 override which rate gets automatically applied (or return null to disable auto-apply).\n<\/code><\/pre>\n\n<p><strong>Actions:<\/strong><\/p>\n\n<pre><code>pirajki_sc_after_rate_saved \u2014 fires after a shipping rate has been saved to an order. Receives `$order`, `$label`, `$cost`.\n<\/code><\/pre>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 5.8+<\/li>\n<li>WooCommerce 6.0+<\/li>\n<li>PHP 7.4+<\/li>\n<li>Advanced Shipping plugin (optional \u2014 falls back to WooCommerce native shipping zones)<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>pirajki-shipping-calculator<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>No configuration needed \u2014 it works automatically on the order edit screen<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20native%20woocommerce%20shipping%20zones%3F\"><h3>Does this work with native WooCommerce shipping zones?<\/h3><\/dt>\n<dd><p>Yes. If the Advanced Shipping plugin is not active, the plugin falls back to WooCommerce's native shipping pipeline and queries standard flat rate, free shipping, and other native methods.<\/p><\/dd>\n<dt id=\"why%20does%20it%20apply%20the%20highest%20rate%20automatically%3F\"><h3>Why does it apply the highest rate automatically?<\/h3><\/dt>\n<dd><p>When creating manual orders it is safer to start with the highest applicable rate to avoid under-charging. You can always override it by selecting a different rate from the list shown. If you prefer a different auto-apply strategy, use the <code>pirajki_sc_auto_apply_rate<\/code> filter.<\/p><\/dd>\n<dt id=\"the%20rates%20panel%20shows%20%22no%20rates%20found%22%20%E2%80%94%20why%3F\"><h3>The rates panel shows \"No rates found\" \u2014 why?<\/h3><\/dt>\n<dd><p>The most common reasons:\n1. No shipping zone covers the destination postcode\/country in WooCommerce \u2192 Settings \u2192 Shipping\n2. The product in the order is virtual or downloadable (no shipping required)\n3. A minimum order amount condition in Advanced Shipping is not met\n4. The order has no products yet \u2014 add products and click Recalculate first<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%20hpos%20%28high-performance%20order%20storage%29%3F\"><h3>Does it work with WooCommerce HPOS (High-Performance Order Storage)?<\/h3><\/dt>\n<dd><p>Yes \u2014 the plugin declares HPOS compatibility and handles both classic (post-based) and HPOS order screens.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20guernsey%2C%20jersey%2C%20and%20isle%20of%20man%20postcodes%3F\"><h3>Is it compatible with Guernsey, Jersey, and Isle of Man postcodes?<\/h3><\/dt>\n<dd><p>Yes. Postcodes starting with GY, JE, and IM are automatically mapped to their correct ISO country codes (GG, JE, IM) even when the WooCommerce admin form leaves the country set to GB.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fix: Renamed all functions, classes, constants and hooks to pirajki_sc_ prefix<\/li>\n<li>Fix: Replaced inline  tag with wp_enqueue_script + wp_localize_script<\/li>\n<li>Fix: Plugin name and readme updated to match WordPress.org requirements<\/li>\n<li>Fix: Author URI updated to domain without WordPress trademark<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fix: esc_attr() now applied at point of output for JSON radio values<\/li>\n<li>Fix: phpcs ignore comments suppress both DirectQuery and NoCaching rules<\/li>\n<li>Fix: Upgrade notice trimmed to within 300 character limit<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix: All output escaped via wp_kses_post and esc_attr<\/li>\n<li>Fix: Taxes array properly unslashed before sanitisation<\/li>\n<li>Fix: Direct DB queries use prepared statements and transient caching<\/li>\n<li>Fix: Removed discouraged load_plugin_textdomain call<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Auto-calculation on postcode change with debouncing<\/li>\n<li>Auto-apply highest rate<\/li>\n<li>Advanced Shipping plugin integration<\/li>\n<li>Channel Islands \/ Isle of Man postcode auto-detection<\/li>\n<li>HPOS compatibility<\/li>\n<li>Manual cost fallback<\/li>\n<li>Developer filters and actions<\/li>\n<\/ul>","raw_excerpt":"Automatically calculates and applies shipping rates when creating or editing WooCommerce orders in the admin.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/321050","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=321050"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pirajki"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=321050"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=321050"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=321050"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=321050"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=321050"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=321050"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}