{"id":7502,"date":"2023-10-28T16:24:44","date_gmt":"2023-10-28T20:24:44","guid":{"rendered":"https:\/\/themespress.ca\/?p=7502"},"modified":"2023-10-29T08:58:04","modified_gmt":"2023-10-29T12:58:04","slug":"average-shipping-cost","status":"publish","type":"post","link":"https:\/\/themespress.ca\/en\/average-shipping-cost\/","title":{"rendered":"Calculating Average Shipping Cost per Order &#8211; WooCommerce"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><div class=\"vc_row wpb_row vc_row-fluid\"><div class=\"wpb_column vc_column_container vc_col-sm-12\"><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\">\n\t<div class=\"wpb_text_column wpb_content_element\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<p>With this tutorial, we will calculate the average shipping cost per order across all orders; including those with no shipping fees. You can tweak the function like this:<\/p>\n\n\t\t<\/div>\n\t<\/div>\n<h2 style=\"text-align: left\" class=\"vc_custom_heading vc_do_custom_heading\" >Calculating the average order shipping cost for all orders<\/h2><div id=\"ts-enlighterjs-container-5231089\" class=\"ts-enlighterjs-container-single-enabled  \" style=\"width: 100%;  margin-top: 0px; margin-bottom: 0px;\" data-enlighter-doubleclick=\"true\" data-enlighter-windowbutton=\"true\" data-enlighter-windowtext=\"New Window\" data-enlighter-rawbutton=\"true\" data-enlighter-rawtext=\"RAW Code\" data-enlighter-infobutton=\"false\" data-enlighter-infotext=\"EnlighterJS\" data-enlighter-indent=\"2\"><pre id=\"ts-enlighterjs-pre-5231089\" class=\"\" style=\"white-space: pre-wrap; height: 100%; margin: 0; padding: 0;\" data-enlighter-language=\"standard\" data-enlighter-theme=\"enlighter\" data-enlighter-group=\"\" data-enlighter-title=\"\" data-enlighter-linenumbers=\"true\" data-enlighter-lineoffset=\"1\" data-enlighter-highlight=\"\">function woocl_calculate_average_shipping_cost_per_order_all_orders() {\n    $args = array(\n        &#039;status&#039; =&gt; array(&#039;wc-completed&#039;, &#039;wc-shipped&#039;),\n        &#039;limit&#039; =&gt; -1,\n        &#039;return&#039; =&gt; &#039;ids&#039;,\n    );\n    $shipped_orders = wc_get_orders($args);\n\n    $total_shipping_cost = 0;\n    $total_orders = count($shipped_orders);\n\n    foreach ($shipped_orders as $order_id) {\n        $order = wc_get_order($order_id);\n        $shipping_total = (float) $order-&gt;get_shipping_total();\n        $total_shipping_cost += $shipping_total;\n    }\n\n    if ($total_orders &gt; 0) {\n        $average_shipping_cost_per_order = $total_shipping_cost \/ $total_orders;\n    } else {\n        $average_shipping_cost_per_order = 0;\n    }\n\n    return $average_shipping_cost_per_order;\n}\n<\/pre><\/div>\n\t<div class=\"wpb_text_column wpb_content_element\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<p>Let&#8217;s now display it in our template.<\/p>\n\n\t\t<\/div>\n\t<\/div>\n<div id=\"ts-enlighterjs-container-2866933\" class=\"ts-enlighterjs-container-single-enabled  \" style=\"width: 100%;  margin-top: 0px; margin-bottom: 0px;\" data-enlighter-doubleclick=\"true\" data-enlighter-windowbutton=\"true\" data-enlighter-windowtext=\"New Window\" data-enlighter-rawbutton=\"true\" data-enlighter-rawtext=\"RAW Code\" data-enlighter-infobutton=\"false\" data-enlighter-infotext=\"EnlighterJS\" data-enlighter-indent=\"2\"><pre id=\"ts-enlighterjs-pre-2866933\" class=\"\" style=\"white-space: pre-wrap; height: 100%; margin: 0; padding: 0;\" data-enlighter-language=\"standard\" data-enlighter-theme=\"enlighter\" data-enlighter-group=\"\" data-enlighter-title=\"\" data-enlighter-linenumbers=\"true\" data-enlighter-lineoffset=\"1\" data-enlighter-highlight=\"\">$average_shipping_cost_per_order = woocl_calculate_average_shipping_cost_per_order_all_orders();\necho &#039;Co&ucirc;t moyen d\\&#039;exp&eacute;dition par commande (toutes les commandes): &#039; . wc_price($average_shipping_cost_per_order);\n<\/pre><\/div><h2 style=\"text-align: left\" class=\"vc_custom_heading vc_do_custom_heading\" >Calculating the average order shipping cost: Order with shipping fees<\/h2>\n\t<div class=\"wpb_text_column wpb_content_element\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<p>If you want to calculate average order shipping costs for orders with a <strong>shipping value<\/strong>, you can use the following function:<\/p>\n\n\t\t<\/div>\n\t<\/div>\n<div id=\"ts-enlighterjs-container-9553172\" class=\"ts-enlighterjs-container-single-enabled  \" style=\"width: 100%;  margin-top: 0px; margin-bottom: 0px;\" data-enlighter-doubleclick=\"true\" data-enlighter-windowbutton=\"true\" data-enlighter-windowtext=\"New Window\" data-enlighter-rawbutton=\"true\" data-enlighter-rawtext=\"RAW Code\" data-enlighter-infobutton=\"false\" data-enlighter-infotext=\"EnlighterJS\" data-enlighter-indent=\"2\"><pre id=\"ts-enlighterjs-pre-9553172\" class=\"\" style=\"white-space: pre-wrap; height: 100%; margin: 0; padding: 0;\" data-enlighter-language=\"standard\" data-enlighter-theme=\"enlighter\" data-enlighter-group=\"\" data-enlighter-title=\"\" data-enlighter-linenumbers=\"true\" data-enlighter-lineoffset=\"1\" data-enlighter-highlight=\"\">function woocl_calculate_average_shipping_cost_for_orders_with_shipping() {\n    $args = array(\n        &#039;status&#039; =&gt; array(&#039;wc-completed&#039;, &#039;wc-shipped&#039;),\n        &#039;limit&#039; =&gt; -1,\n        &#039;return&#039; =&gt; &#039;ids&#039;,\n    );\n    $shipped_orders = wc_get_orders($args);\n\n    $total_shipping_cost = 0;\n    $orders_with_shipping = 0;\n\n    foreach ($shipped_orders as $order_id) {\n        $order = wc_get_order($order_id);\n        $shipping_total = (float) $order-&gt;get_shipping_total();\n\n        if ($shipping_total &gt; 0) {\n            $total_shipping_cost += $shipping_total;\n            $orders_with_shipping++;\n        }\n    }\n\n    if ($orders_with_shipping &gt; 0) {\n        $average_shipping_cost = $total_shipping_cost \/ $orders_with_shipping;\n    } else {\n        $average_shipping_cost = 0;\n    }\n\n    return $average_shipping_cost;\n}\n<\/pre><\/div>\n\t<div class=\"wpb_text_column wpb_content_element\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<p>Displaying average order shipping cost (only for orders with a shipping value)<\/p>\n\n\t\t<\/div>\n\t<\/div>\n<div id=\"ts-enlighterjs-container-3770808\" class=\"ts-enlighterjs-container-single-enabled  \" style=\"width: 100%;  margin-top: 0px; margin-bottom: 0px;\" data-enlighter-doubleclick=\"true\" data-enlighter-windowbutton=\"true\" data-enlighter-windowtext=\"New Window\" data-enlighter-rawbutton=\"true\" data-enlighter-rawtext=\"RAW Code\" data-enlighter-infobutton=\"false\" data-enlighter-infotext=\"EnlighterJS\" data-enlighter-indent=\"2\"><pre id=\"ts-enlighterjs-pre-3770808\" class=\"\" style=\"white-space: pre-wrap; height: 100%; margin: 0; padding: 0;\" data-enlighter-language=\"standard\" data-enlighter-theme=\"enlighter\" data-enlighter-group=\"\" data-enlighter-title=\"\" data-enlighter-linenumbers=\"true\" data-enlighter-lineoffset=\"1\" data-enlighter-highlight=\"\">$average_shipping_cost = woocl_calculate_average_shipping_cost_for_orders_with_shipping();\necho &#039;Co&ucirc;t moyen d\\&#039;exp&eacute;dition (uniquement les commandes avec frais d\\&#039;exp&eacute;dition): &#039; . wc_price($average_shipping_cost);\n<\/pre><\/div><\/div><\/div><\/div><\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"With this tutorial, we will calculate the average shipping cost per order across all orders; including those with no shipping fees. You can tweak the function like this: Calculating the<div class=\"read-more\"><a class=\"btn button-secondary\" href=\"https:\/\/themespress.ca\/en\/average-shipping-cost\/\">Read More<\/a><\/div>","protected":false},"author":81,"featured_media":7504,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[283],"tags":[],"class_list":["post-7502","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/themespress.ca\/en\/wp-json\/wp\/v2\/posts\/7502","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themespress.ca\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themespress.ca\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themespress.ca\/en\/wp-json\/wp\/v2\/users\/81"}],"replies":[{"embeddable":true,"href":"https:\/\/themespress.ca\/en\/wp-json\/wp\/v2\/comments?post=7502"}],"version-history":[{"count":3,"href":"https:\/\/themespress.ca\/en\/wp-json\/wp\/v2\/posts\/7502\/revisions"}],"predecessor-version":[{"id":7507,"href":"https:\/\/themespress.ca\/en\/wp-json\/wp\/v2\/posts\/7502\/revisions\/7507"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themespress.ca\/en\/wp-json\/wp\/v2\/media\/7504"}],"wp:attachment":[{"href":"https:\/\/themespress.ca\/en\/wp-json\/wp\/v2\/media?parent=7502"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themespress.ca\/en\/wp-json\/wp\/v2\/categories?post=7502"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themespress.ca\/en\/wp-json\/wp\/v2\/tags?post=7502"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}