Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function mytheme_get_max_shipping_classes_additional_time( $shipping_classes_ids = array() ) {
- if ( ! is_array( $shipping_classes_ids ) ) {
- return 0;
- }
- $shipping_classes_ids = array_filter( $shipping_classes_ids, function( $id ) {
- return ! is_nan( intval( $id ) );
- } );
- if ( empty( $shipping_classes_ids ) ) {
- return 0;
- }
- $shipping_class = get_terms( array(
- 'taxonomy' => 'product_shipping_class',
- 'hide_empty' => true,
- 'include' => (array) $shipping_classes_ids,
- 'number' => 1,
- 'order' => 'DESC',
- 'orderby' => 'meta_value_num',
- 'meta_key' => WCSAD_SHIPPING_CLASS_ADDITIONAL_TIME,
- ) );
- if ( is_wp_error( $shipping_class ) || empty( $shipping_class ) ) {
- return 0;
- }
- return get_shipping_class_additional_time( $shipping_class[0]->term_id );
- }
- function mytheme_woocommerce_correios_shipping_additional_time( $package ) {
- if ( empty( $package['contents'] ) ) {
- return 0;
- }
- $shipping_classes_ids = array();
- $product_additional_days = array();
- foreach ( $package['contents'] as $product_data ) {
- $shipping_classes_ids[] = $product_data['data']->get_shipping_class_id();
- $product_additional_days = get_products_additional_time( $product_data['product_id'] );
- }
- $shipping_classes_ids = array_unique( array_values( array_filter( $shipping_classes_ids ) ) );
- $max_additional_time = mytheme_get_max_shipping_classes_additional_time( $shipping_classes_ids );
- return max( $max_additional_time, $product_additional_days );
- }
- function mytheme_get_additional_days() {
- $packages = WC_Cart::get_shipping_packages();
- $additional_days = 0;
- foreach ( $packages as $package ) {
- $package_additional_days = mytheme_woocommerce_correios_shipping_additional_time( $package );
- $additional_days = max( $additional_days, $package_additional_days );
- }
- return $additional_days;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement