Title: hotcookie's Replies | WordPress.org

---

# hotcookie

  [  ](https://wordpress.org/support/users/hotcookie/)

 *   [Profile](https://wordpress.org/support/users/hotcookie/)
 *   [Topics Started](https://wordpress.org/support/users/hotcookie/topics/)
 *   [Replies Created](https://wordpress.org/support/users/hotcookie/replies/)
 *   [Reviews Written](https://wordpress.org/support/users/hotcookie/reviews/)
 *   [Topics Replied To](https://wordpress.org/support/users/hotcookie/replied-to/)
 *   [Engagements](https://wordpress.org/support/users/hotcookie/engagements/)
 *   [Favorites](https://wordpress.org/support/users/hotcookie/favorites/)

 Search replies:

## Forum Replies Created

Viewing 9 replies - 1 through 9 (of 9 total)

 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[Store Toolkit – WooCommerce Extensions, Quick Enhancements & Handy Tools] HPOS meta data](https://wordpress.org/support/topic/hpos-meta-data/)
 *  Thread Starter [hotcookie](https://wordpress.org/support/users/hotcookie/)
 * (@hotcookie)
 * [1 year, 7 months ago](https://wordpress.org/support/topic/hpos-meta-data/#post-18103849)
 * Its when I open the order edit.
   Your hpos implementation also doesn’t dump all
   the five order item data.I fixed both of the problems. Here are the source files
 * order_data.php
 *     ```wp-block-code
       <?php// Exit if accessed directly.if ( ! defined( 'ABSPATH' ) ) {	exit;}if ( ! empty( $order_data ) ) : ?><table class="widefat striped" style="font-family:monospace; text-align:left; width:100%;">	<tbody>		<?php foreach ( $order_data as $key => $data ) : ?>			<?php if ( 'meta_data' === $key ) : ?>				<?php foreach ( $data as $meta ) : ?>				<tr>					<th style="width:20%;"><?php echo 'meta_data[' . esc_html( $meta->get_data()['key'] ) . ']'; ?></th>					<td>						<?php							$data = $meta->get_data()['value'];							switch ( $data ) {								case is_array( $data ):									echo '<pre>' . esc_html( print_r( $data, true ) ) . '</pre>';									break;								case is_object( $data ):									echo '<pre>' . esc_html( print_r( $data, true ) ) . '</pre>';									break;								default:									echo esc_html( $data );									break;							}						?>					</td>					</tr>				<?php endforeach; ?>			<?php else: ?>			<tr>				<th style="width:20%;"><?php echo esc_html( $key ); ?></th>				<td>					<?php					switch ( $data ) {						case is_array( $data ):							echo '<pre>' . esc_html( print_r( $data, true ) ) . '</pre>';							break;						case is_object( $data ):							echo '<pre>' . esc_html( print_r( $data, true ) ) . '</pre>';							break;						default:							echo esc_html( $data );							break;					}					?>				</td>			</tr>			<?php endif; ?>		<?php endforeach; ?>	</tbody></table><?php else : ?><p>No order data is associated with this Order.</p><?php endif; ?>
       ```
   
 * meta_box.php
 *     ```wp-block-code
       <?phpuse Automattic\WooCommerce\Utilities\OrderUtil;use Automattic\WooCommerce\Internal\DataStores\Orders\CustomOrdersTableController;require_once WOO_ST_PATH . 'includes/admin/meta_box.php';function woo_st_add_data_meta_boxes( $post_type, $post = '' ) {    if ( get_post_status( $post ) == 'auto-draft' ) {        return;    }    // Product    $post_type = 'product';    if ( apply_filters( 'woo_st_product_data_meta_box', true ) ) {        add_meta_box( 'woo-product-post_data', __( 'Product Post Meta', 'woocommerce-store-toolkit' ), 'woo_st_product_data_meta_box', $post_type, 'normal', 'default' );    }    $post_type = 'product_variation';    if ( apply_filters( 'woo_st_product_data_meta_box', true ) ) {        add_meta_box( 'woo-product-post_data', __( 'Product Post Meta', 'woocommerce-store-toolkit' ), 'woo_st_product_data_meta_box', $post_type, 'normal', 'default' );    }    // Order    $post_type = 'shop_order';    $post_type = wc_get_container()->get( CustomOrdersTableController::class )->custom_orders_table_usage_is_enabled()        ? wc_get_page_screen_id( 'shop-order' )        : 'shop_order';    $order_meta_box_title = wc_get_container()->get( CustomOrdersTableController::class )->custom_orders_table_usage_is_enabled()        ? array(            'order'   => __( 'Order Data', 'woocommerce-store-toolkit' ),            'items'   => __( 'Order Items Data', 'woocommerce-store-toolkit' ),            'refunds' => __( 'Refunds Data', 'woocommerce-store-toolkit' ),        ) : array(            'order'   => __( 'Order Post Meta', 'woocommerce-store-toolkit' ),            'items'   => __( 'Order Items Meta', 'woocommerce-store-toolkit' ),            'refunds' => __( 'Refunds Post Meta', 'woocommerce-store-toolkit' ),        );    if ( apply_filters( 'woo_st_order_data_meta_box', true ) ) {        add_meta_box( 'woo-order-post_data', $order_meta_box_title['order'], 'woo_st_order_data_meta_box', $post_type, 'normal', 'default' );    }    if ( apply_filters( 'woo_st_order_items_data_meta_box', true ) ) {        add_meta_box( 'woo-order-post_item', $order_meta_box_title['items'], 'woo_st_order_items_data_meta_box', $post_type, 'normal', 'default' );    }    if ( apply_filters( 'woo_st_order_refunds_data_meta_box', true ) ) {        add_meta_box( 'woo-order-post_refund', $order_meta_box_title['refunds'], 'woo_st_order_refunds_data_meta_box', $post_type, 'normal', 'default' );    }    // So we can view the Related Orders meta box on the Edit Order screen    $unlock_related_orders = get_option( WOO_ST_PREFIX . '_unlock_related_orders', 0 );    if (        ! empty( $unlock_related_orders ) ||        apply_filters( 'woo_st_order_related_orders_meta_box', false )    ) {        add_meta_box( 'woo-order-related_orders', __( 'Related Orders', 'woocommerce-store-toolkit' ), 'woo_st_order_related_orders_meta_box', $post_type, 'side', 'default' );    }    // Coupon    $post_type = 'shop_coupon';    if ( apply_filters( 'woo_st_coupon_data_meta_box', true ) ) {        add_meta_box( 'woo-coupon-post_data', __( 'Coupon Post Meta', 'woocommerce-store-toolkit' ), 'woo_st_coupon_data_meta_box', $post_type, 'normal', 'default' );    }    // Attachment    $post_type = 'attachment';    if ( apply_filters( 'woo_st_attachment_data_meta_box', true ) ) {        add_meta_box( 'attachment-post_data', __( 'Attachment Post Meta', 'woocommerce-store-toolkit' ), 'woo_st_attachment_data_meta_box', $post_type, 'normal', 'default' );    }    // 3rd party    // WooCommerce Subscriptions - http://www.woothemes.com/products/woocommerce-subscriptions/    $post_type = 'shop_subscription';    if ( post_type_exists( $post_type ) ) {        if ( apply_filters( 'woo_st_order_data_meta_box', true ) ) {            add_meta_box( 'woo-order-post_data', __( 'Subscription Post Meta', 'woocommerce-store-toolkit' ), 'woo_st_order_data_meta_box', $post_type, 'normal', 'default' );        }    }    // WooCommerce - Store Exporter Deluxe - https://www.visser.com.au/plugins/store-exporter-deluxe/    $post_type = 'scheduled_export';    if ( post_type_exists( $post_type ) ) {        if ( apply_filters( 'woo_st_scheduled_export_data_meta_box', true ) ) {            add_meta_box( 'woo-scheduled_export-post_data', __( 'Scheduled Export Post Meta', 'woocommerce-store-toolkit' ), 'woo_st_scheduled_export_data_meta_box', $post_type, 'normal', 'default' );        }    }    // WooCommerce - Store Exporter Deluxe - https://www.visser.com.au/plugins/store-exporter-deluxe/    $post_type = 'export_template';    if ( apply_filters( 'woo_st_export_template_data_meta_box', true ) ) {        add_meta_box( 'woo-coupon-post_data', __( 'Export Template Post Meta', 'woocommerce-store-toolkit' ), 'woo_st_export_template_data_meta_box', $post_type, 'normal', 'default' );    }    // WooCommerce - Product Importer Deluxe - https://www.visser.com.au/plugins/product-importer-deluxe/    $post_type = 'scheduled_import';    if ( post_type_exists( $post_type ) ) {        if ( apply_filters( 'woo_st_scheduled_import_data_meta_box', true ) ) {            add_meta_box( 'woo-scheduled_import-post_data', __( 'Scheduled Import Post Meta', 'woocommerce-store-toolkit' ), 'woo_st_scheduled_export_data_meta_box', $post_type, 'normal', 'default' );        }    }    // WooCommerce Events - http://www.woocommerceevents.com/    if ( class_exists( 'WooCommerce_Events' ) ) {        $post_type = 'event_magic_tickets';        if ( apply_filters( 'woo_st_event_data_meta_box', true ) ) {            add_meta_box( 'woo-event-post_data', __( 'Event Post Meta', 'woocommerce-store-toolkit' ), 'woo_st_event_data_meta_box', $post_type, 'normal', 'default' );        }    }    // WooCommerce Bookings - http://www.woothemes.com/products/woocommerce-bookings/    if ( class_exists( 'WC_Bookings' ) ) {        $post_type = 'wc_booking';        if ( apply_filters( 'woo_st_booking_data_meta_box', true ) ) {            add_meta_box( 'woo-booking-post_data', __( 'Booking Post Meta', 'woocommerce-store-toolkit' ), 'woo_st_booking_data_meta_box', $post_type, 'normal', 'default' );        }    }    // WooCommerce Memberships - http://www.woothemes.com/products/woocommerce-memberships/    if ( function_exists( 'init_woocommerce_memberships' ) ) {        $post_type = 'wc_user_membership';        if ( apply_filters( 'woo_st_user_membership_data_meta_box', true ) ) {            add_meta_box( 'woo-user_membership-post_data', __( 'User Membership Post Meta', 'woocommerce-store-toolkit' ), 'woo_st_user_membership_data_meta_box', $post_type, 'normal', 'low' );        }        $post_type = 'wc_membership_plan';        if ( apply_filters( 'woo_st_membership_plan_data_meta_box', true ) ) {            add_meta_box( 'woo-membership_plan-post_data', __( 'Membership Plan Post Meta', 'woocommerce-store-toolkit' ), 'woo_st_membership_plan_data_meta_box', $post_type, 'normal', 'low' );        }        // These guys think they are special...        add_filter( 'wc_memberships_allowed_meta_box_ids', 'woo_st_extend_wc_memberships_allowed_meta_box_ids' );    }    // WooCommerce Appointments - http://www.bizzthemes.com/plugins/woocommerce-appointments/    if ( class_exists( 'WC_Appointments' ) ) {        $post_type = 'wc_appointment';        if ( apply_filters( 'woo_st_appointment_data_meta_box', true ) ) {            add_meta_box( 'woo-appointment-post_data', __( 'Appointment Post Meta', 'woocommerce-store-toolkit' ), 'woo_st_generic_data_meta_box', $post_type, 'normal', 'low' );        }    }    // Advanced Custom Fields - http://www.advancedcustomfields.com    if ( class_exists( 'acf' ) ) {        $acf_version = ( defined( 'ACF_VERSION' ) ? ACF_VERSION : false );        if ( version_compare( $acf_version, '5.6', '>=' ) ) {            $post_type = 'acf-field-group';        } else {$post_type = 'acf';        }        if ( apply_filters( 'woo_st_acf_data_meta_box', true ) ) {            add_meta_box( 'woo-acf-post_data', __( 'ACF Post Meta', 'woocommerce-store-toolkit' ), 'woo_st_generic_data_meta_box', $post_type, 'normal', 'low' );        }    }}// WooCommerce Memberships - http://www.woothemes.com/products/woocommerce-memberships/function woo_st_extend_wc_memberships_allowed_meta_box_ids( $meta_boxes ) {    $meta_boxes[] = 'woo-user_membership-post_data';    $meta_boxes[] = 'woo-membership_plan-post_data';    return $meta_boxes;}function woo_st_product_data_meta_box() {    global $post;    $post_id = absint( $post->ID ? $post->ID : false );    $post_meta = get_post_custom( $post_id );    $type     = 'product';    $template = 'post_data.php';    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></strong></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }}function woo_st_order_data_meta_box( $post_or_order_object ) {    if ( OrderUtil::custom_orders_table_usage_is_enabled() ) {        $order      = ( $post_or_order_object instanceof WP_Post ) ? wc_get_order( $post_or_order_object->ID ) : $post_or_order_object;        $order_data = $order->get_data();        // Unset line items, tax lines, shipping lines, fee lines, coupon lines and refunds.        unset( $order_data['line_items'] );        unset( $order_data['tax_lines'] );        unset( $order_data['shipping_lines'] );        unset( $order_data['fee_lines'] );        unset( $order_data['coupon_lines'] );        unset( $order_data['refunds'] );        $template = 'order_data.php';    } else {        global $post;        $post_id   = absint( $post->ID ? $post->ID : false );        $post_meta = get_post_custom( $post_id );        $type      = 'order';        $template  = 'post_data.php';    }    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }}function woo_st_order_items_data_meta_box( $post_or_order_object ) {    if ( OrderUtil::custom_orders_table_usage_is_enabled() ) {        $template = 'order_item_data_hpos.php';        if ( !file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {            $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );        }        else {            $order       = ( $post_or_order_object instanceof WP_Post ) ? wc_get_order( $post_or_order_object->ID ) : $post_or_order_object;            foreach (['line_item','tax','shipping','fee','coupon'] as $type) {                $order_items = $order->get_items($type);                include WOO_ST_PATH . 'templates/admin/' . $template;            }        }    } else {        global $wpdb;        $post    = $post_or_order_object instanceof WP_Post ? $post_or_order_object : false;        $post_id = absint( $post->ID ? $post->ID : false );        $order_items_sql = $wpdb->prepare( 'SELECT order_item_id as id, order_item_name as name, order_item_type as type FROM ' . $wpdb->prefix . 'woocommerce_order_items WHERE order_id = %d', $post_id );        if ( $order_items = $wpdb->get_results( $order_items_sql ) ) {            foreach ( $order_items as $key => $order_item ) {                $order_itemmeta_sql        = $wpdb->prepare( 'SELECT meta_key, meta_value FROM ' . $wpdb->prefix . 'woocommerce_order_itemmeta AS order_itemmeta WHERE order_item_id = %d ORDER BY order_itemmeta.meta_key ASC', $order_item->id );                $order_items[ $key ]->meta = $wpdb->get_results( $order_itemmeta_sql );            }        }        $type     = 'order_item';        $template = 'order_item_data.php';        if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {            include_once WOO_ST_PATH . 'templates/admin/' . $template;        } else {            $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );        }    }    if (!empty($message)) {        ?>        <p><strong><?php echo wp_kses_data( $message ); ?></strong></p>        <p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p>        <ul class="ul-disc">            <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>            <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>            <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li>        </ul>        <p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p>        <?php    }}function woo_st_order_refunds_data_meta_box( $post_or_order_object ) {    if ( OrderUtil::custom_orders_table_usage_is_enabled() ) {        $order         = ( $post_or_order_object instanceof WP_Post ) ? wc_get_order( $post_or_order_object->ID ) : $post_or_order_object;        $order_refunds = $order->get_refunds();        $type     = 'refund';        $template = 'order_refund_data_hpos.php';    } else {        $post    = $post_or_order_object instanceof WP_Post ? $post_or_order_object : false;        $post_id = absint( $post->ID ? $post->ID : false );        $refunds = woo_st_get_order_refunds( $post_id );        $type     = 'refund';        $template = 'order_refund_data.php';    }    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></strong></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }}function woo_st_order_related_orders_meta_box( $post_or_order_object ) {    $orders   = array();    $order    = ( $post_or_order_object instanceof WP_Post ) ? wc_get_order( $post_or_order_object->ID ) : $post_or_order_object;    $user_id  = $order->get_customer_id();    $matching = false;    if ( ! empty( $user_id ) ) {        $matching = 'user_id';        // Check if a User has been linked to this Order.        $args   = array(            'return' => 'ids',        );        $orders = woo_st_get_user_orders( $user_id, $args );    } else {        $matching = 'billing_email';        // Fallback to the Billing e-mail address        $billing_email = get_post_meta( $post_id, '_billing_email', true );        if ( ! empty( $billing_email ) ) {            $post_type = 'shop_order';            $args      = array(                'post_type' => $post_type,                'fields'    => 'ids',            );            $args['post_status']  = ( function_exists( 'wc_get_order_statuses' ) ? apply_filters( 'woo_st_order_post_status', array_keys( wc_get_order_statuses() ) ) : 'any' );            $args['meta_query'][] = array(                'key'   => '_billing_email',                'value' => $billing_email,            );            $order_ids            = new WP_Query( $args );            $orders               = ( ! empty( $order_ids->posts ) ? $order_ids->posts : false );        }    }    // Remove this Order from the list.    if ( ! empty( $orders ) ) {        $needle = array_search( $order->get_id(), $orders );        if ( false !== $needle ) {            unset( $orders[ $needle ] );        }    }    $type     = 'order';    $template = 'order_related_orders.php';    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></strong></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }}function woo_st_coupon_data_meta_box() {    global $post;    $post_id = absint( $post->ID ? $post->ID : false );    $post_meta = get_post_custom( $post_id );    $type     = 'coupon';    $template = 'post_data.php';    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></strong></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }}function woo_st_export_template_data_meta_box() {    global $post;    $post_id = absint( $post->ID ? $post->ID : false );    $post_meta = get_post_custom( $post_id );    $type     = 'export_template';    $template = 'post_data.php';    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></strong></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }}function woo_st_category_data_meta_box( $term = '', $taxonomy = '' ) {    $term_taxonomy = 'product_cat';    $term_meta     = get_term_meta( $term->term_id );    // We support up to 5 levels deep; can be extended further as needed    // Term    $category_heirachy = $term->name;    $category_depth    = 1;    if ( ! empty( $term->parent ) ) {        // Term > Term        $parent = get_term( $term->parent );        if ( ! is_wp_error( $parent ) ) {            ++$category_depth;            $category_heirachy = $parent->name . ' &raquo; ' . $category_heirachy;            // Term > Term > Term            $parent = get_term( $parent->parent );            if ( ! is_wp_error( $parent ) ) {                ++$category_depth;                $category_heirachy = $parent->name . ' &raquo; ' . $category_heirachy;                // Term > Term > Term > Term                $parent = get_term( $parent->parent );                if ( ! is_wp_error( $parent ) ) {                    ++$category_depth;                    $category_heirachy = $parent->name . ' &raquo; ' . $category_heirachy;                    // Term > Term > Term > Term > Term                    $parent = get_term( $parent->parent );                    if ( ! is_wp_error( $parent ) ) {                        $category_heirachy = $parent->name . ' &raquo; ' . $category_heirachy;                    }                }            }        }    }    $type  = 'category';    $class = 'category_data';    $template = 'term_data.php';    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></strong></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }    $template = 'category_data.php';    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></strong></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }}function woo_st_tag_data_meta_box( $term = '', $taxonomy = '' ) {    $term_taxonomy = 'product_tag';    $term_meta     = get_term_meta( $term->term_id );    $type     = 'tag';    $class    = 'tag_data';    $template = 'term_data.php';    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></strong></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }}function woo_st_brand_data_meta_box( $term = '', $taxonomy = '' ) {    $term_taxonomy = 'product_brand';    $term_meta     = get_term_meta( $term->term_id );    $type     = 'brand';    $class    = 'brand_data';    $template = 'term_data.php';    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></strong></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }}function woo_st_product_vendor_data_meta_box( $term = '', $taxonomy = '' ) {    $term_taxonomy = 'yith_shop_vendor';    $term_meta     = get_term_meta( $term->term_id );    $type     = 'product_vendor';    $template = 'post_data.php';    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></strong></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }}function woo_st_user_orders( $user ) {    if ( ! current_user_can( 'manage_woocommerce' ) ) {        return;    }    $user_id        = $user->data->ID;    $posts_per_page = apply_filters( 'woo_st_user_orders_posts_per_page', 10 );    $args           = array(        'numberposts' => $posts_per_page,    );    $total_orders   = woo_st_get_user_orders( $user_id, $args, 'found_posts' );    $paged          = ( isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1 );    if ( ! empty( $paged ) ) {        $args['paged'] = $paged;    }    $max_page = absint( $total_orders / $posts_per_page );    $orders   = ( ! empty( $total_orders ) ? woo_st_get_user_orders( $user_id, $args ) : false );    $type     = 'user';    $template = 'user_orders.php';    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></strong></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }}function woo_st_user_data_meta_box( $user = '' ) {    $user_id   = $user->data->ID;    $user_meta = get_user_meta( $user_id );    $template = 'user_data.php';    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></strong></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }}function woo_st_scheduled_export_data_meta_box() {    global $post;    $post_id = absint( $post->ID ? $post->ID : false );    $post_meta = get_post_custom( $post_id );    $type     = 'scheduled_export';    $template = 'post_data.php';    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></strong></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }}function woo_st_event_data_meta_box() {    global $post;    $post_id = absint( $post->ID ? $post->ID : false );    $post_meta = get_post_custom( $post_id );    $type     = 'event';    $template = 'post_data.php';    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></strong></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }}function woo_st_booking_data_meta_box() {    global $post;    $post_id = absint( $post->ID ? $post->ID : false );    $post_meta = get_post_custom( $post_id );    $type     = 'booking';    $template = 'post_data.php';    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></strong></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }}function woo_st_user_membership_data_meta_box() {    global $post;    $post_id = absint( $post->ID ? $post->ID : false );    $post_meta = get_post_custom( $post_id );    $type     = 'user_membership';    $template = 'post_data.php';    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></strong></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }}function woo_st_generic_data_meta_box() {    global $post;    $post_id = absint( $post->ID ? $post->ID : false );    $post_meta = get_post_custom( $post_id );    $type     = 'post';    $template = 'post_data.php';    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></strong></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }}function woo_st_membership_plan_data_meta_box() {    global $post;    $post_id = absint( $post->ID ? $post->ID : false );    $post_meta = get_post_custom( $post_id );    $type     = 'membership_plan';    $template = 'post_data.php';    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></strong></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }}function woo_st_attachment_data_meta_box() {    global $post;    $post_id = absint( $post->ID ? $post->ID : false );    $post_meta = get_post_custom( $post_id );    $type     = 'attachment';    $template = 'post_data.php';    if ( file_exists( WOO_ST_PATH . 'templates/admin/' . $template ) ) {        include_once WOO_ST_PATH . 'templates/admin/' . $template;    } else {        $message = sprintf( __( 'We couldn\'t load the template file <code>%1$s</code> within <code>%2$s</code>, this file should be present.', 'woocommerce-store-toolkit' ), $template, WOO_ST_PATH . 'includes/admin/...' );?><p><strong><?php echo wp_kses_data( $message ); ?></strong></p><p><?php _e( 'You can see this error for one of a few common reasons', 'woocommerce-store-toolkit' ); ?>:</p><ul class="ul-disc">    <li><?php _e( 'WordPress was unable to create this file when the Plugin was installed or updated', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin files have been recently changed and there has been a file conflict', 'woocommerce-store-toolkit' ); ?></li>    <li><?php _e( 'The Plugin file has been locked and cannot be opened by WordPress', 'woocommerce-store-toolkit' ); ?></li></ul><p><?php _e( 'Jump onto our website and download a fresh copy of this Plugin as it might be enough to fix this issue. If this persists get in touch with us.', 'woocommerce-store-toolkit' ); ?></p><?php    }}
       ```
   
 * order_item_data_hpos.php
 *     ```wp-block-code
       <?php// Exit if accessed directly.if ( ! defined( 'ABSPATH' ) ) {	exit;}if ( ! empty( $order_items ) ) : ?><table class="widefat striped" style="font-family:monospace; text-align:left; width:100%;">	<tbody>		<p>  <?= "Type: " . $type ?> </p>		<?php			foreach ( $order_items as $order_item ) :				$data = $order_item->get_data();				foreach ( $data as $key => $value ) :					if ( 'meta_data' === $key ) :						foreach ( $value as $meta ) :							?>							<tr>								<th style="width:20%;"><?php echo 'meta_data[' . esc_html( $meta->get_data()['key'] ) . ']'; ?></th>								<td>									<?php									$value = $meta->get_data()['value'];									switch ( $value ) {									case is_array( $value ):										echo '<pre>' . esc_html( print_r( $value, true ) ) . '</pre>';										break;									case is_object( $value ):										echo '<pre>' . esc_html( print_r( $value, true ) ) . '</pre>';										break;									default:										echo esc_html( $value );										break;									}									?>								</td>								</tr>							<?php						endforeach;					else :						?>						<tr>							<th style="width:20%;"><?php echo esc_html( $key ); ?></th>							<td>								<?php								switch ( $value ) {									case is_array( $value ):										echo '<pre>' . esc_html( print_r( $value, true ) ) . '</pre>';										break;									case is_object( $value ):										echo '<pre>' . esc_html( print_r( $value, true ) ) . '</pre>';										break;									default:										echo esc_html( $value );										break;								}								?>							</td>						</tr>						<?php					endif;				endforeach;			endforeach;		?>	</tbody></table><?php else : ?><p><?= "No order item data is associated with type: " . $type ?></p><?php endif; ?>
       ```
   
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[Create Block Theme] Creating Child theme result in invalid zip format](https://wordpress.org/support/topic/creating-child-theme-result-in-invalid-zip-format/)
 *  Thread Starter [hotcookie](https://wordpress.org/support/users/hotcookie/)
 * (@hotcookie)
 * [2 years, 8 months ago](https://wordpress.org/support/topic/creating-child-theme-result-in-invalid-zip-format/#post-17081562)
 * I should have updated this also. That fixed the problem.
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[WooCommerce] Zone processing override for Local Pickup](https://wordpress.org/support/topic/zone-processing-override-for-local-pickup/)
 *  Thread Starter [hotcookie](https://wordpress.org/support/users/hotcookie/)
 * (@hotcookie)
 * [2 years, 10 months ago](https://wordpress.org/support/topic/zone-processing-override-for-local-pickup/#post-16939638)
 * Some more changes after testing. This one works.
 *     ```wp-block-code
       function hotcookie_default_shipping ($packages) {
         if (sizeof($packages[0]['rates']) != 0) {
           return $packages;
         }
         unset($packages[0]['rates']);
         $packages_default = $packages;
         $shipping_country = $packages_default[0]['destination']['country'];
         $packages_default[0]['destination']['country'] = 'default';
         add_filter('woocommerce_countries_shipping_countries','hotcookie_hack_countries');
         $packages_default[0] = WC_Shipping::instance()->calculate_shipping_for_package ($packages_default[0], 0);
         remove_filter('woocommerce_countries_shipping_countries', 'hotcookie_hack_countries');  
         $packages_default[0]['destination']['country'] = $shipping_country;
         return $packages_default;
       }
   
       function hotcookie_hack_countries($countries) {
         $country = 'default';
         $countries = array($country => $country);
         return $countries;
       }
   
       add_filter('woocommerce_shipping_packages', 'hotcookie_default_shipping', 10, 2); 
   
       function hotcookie_hack_country($countries) {
         $packages = WC()->shipping->get_packages();
         if (empty($packages)) {
           return $countries;
         }
         $shipping_zone = wc_get_shipping_zone($packages[0]);
         if ($shipping_zone->get_id() == '0') { // Hack to make Default zone work
           $country = WC()->customer->get_shipping_country();
           $countries = array($country => $country);
         }
         return $countries;
       }
   
       function hotcookie_hack_default_country() {
         add_filter('woocommerce_countries_shipping_countries', 'hotcookie_hack_country');
       }
       add_filter('woocommerce_checkout_process','hotcookie_hack_default_country');
       ```
   
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[WooCommerce] Zone processing override for Local Pickup](https://wordpress.org/support/topic/zone-processing-override-for-local-pickup/)
 *  Thread Starter [hotcookie](https://wordpress.org/support/users/hotcookie/)
 * (@hotcookie)
 * [2 years, 10 months ago](https://wordpress.org/support/topic/zone-processing-override-for-local-pickup/#post-16933828)
 * One additional hack necessary. Checkout class has a check to determine if the
   Billing Country (in this case also the shipping country) is in the General settings
   Shipping country. Created this to override.
 *     ```wp-block-code
       function force_hack_country() {
         $country = WC()->customer->get_shipping_country();
         $countries = array($country => $country);
         return $countries;
       }
   
       function force_hack_default_country() {
         $packages = WC()->shipping->get_packages();
         $shipping_zone = wc_get_shipping_zone($packages[0]);
         if ($shipping_zone->get_id() == '0') { // Hack to make Default zone work
           add_filter('woocommerce_countries_shipping_countries', 'force_hack_country');
         }
       }
       add_filter('woocommerce_checkout_process','force_hack_default_country');
       ```
   
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[WooCommerce] Zone processing override for Local Pickup](https://wordpress.org/support/topic/zone-processing-override-for-local-pickup/)
 *  Thread Starter [hotcookie](https://wordpress.org/support/users/hotcookie/)
 * (@hotcookie)
 * [2 years, 10 months ago](https://wordpress.org/support/topic/zone-processing-override-for-local-pickup/#post-16931157)
 * After digging deaper, the wc_get_shipping_zones is not relevant. I hacked together
   the following code that seems to work.
 *     ```wp-block-code
       function force_default_shipping ($packages) {
         if (sizeof($packages[0]['rates']) != 0) {
           return $packages;
         }
         unset($packages[0]['rates']);
         $packages_default = $packages;
         $packages_default[0]['destination']['country'] = 'default';
         add_filter('woocommerce_countries_shipping_countries','force_hack_countries');
         $packages_default[0] = WC_Shipping::instance()->calculate_shipping_for_package ($packages_default[0], 0);
         remove_filter('woocommerce_countries_shipping_countries', 'hotcookie_hack_countries');  
         return $packages_default;
       }
   
       function force_hack_countries($countries) {
         $countries = array('default' => 'default');
         return $countries;
       }
       add_filter('woocommerce_shipping_packages', 'force_default_shipping', 10, 2); 
       ```
   
 * It forces the “is_package_shippable” check in class-wc-shipping.php to return
   true but forces the zone search to the “Locations not covered by your other zones”
   zone. Any shipping options enabled there then come up. All that’s necessary is
   to add a “local pickup” shipping option to “Locations not covered by your other
   zones”.
 * Woocommerce should not require coding this hack to make this concept work.
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[WooCommerce] woocommerce admin.css not loading](https://wordpress.org/support/topic/woocommerce-admin-css-not-loading/)
 *  Thread Starter [hotcookie](https://wordpress.org/support/users/hotcookie/)
 * (@hotcookie)
 * [3 years, 9 months ago](https://wordpress.org/support/topic/woocommerce-admin-css-not-loading/#post-15967457)
 * Discovered further details on what was causing.
 * I was adding new code. That caused PHP to find syntax errors and stop processing.
   For some reason php retained some state information after halting because of 
   the syntax errors that caused it to not load the css on subsequent retries.
 * When I restarted php on my mac, the problem went away. When I restarted php on
   the forge server, the problem also went away.
 * I’m not a expert on the php parser. Seems like an interaction problem with wordpresses
   implementation of loading css and the parser.
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[WooCommerce] woocommerce admin.css not loading](https://wordpress.org/support/topic/woocommerce-admin-css-not-loading/)
 *  Thread Starter [hotcookie](https://wordpress.org/support/users/hotcookie/)
 * (@hotcookie)
 * [3 years, 9 months ago](https://wordpress.org/support/topic/woocommerce-admin-css-not-loading/#post-15960029)
 * Thanks for responding. Forcing it to load in the php file works.
 * The question is why its not being loaded automatically? It was being loaded automatically
   and suddenly stopped. What caused it to stop being loaded? Is there any reason
   admin.css wouldn’t be loaded on a page under
    “wp-admin/admin.php?page=deliveries”?
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[WooCommerce] Stop shipping address from being reset on customer login](https://wordpress.org/support/topic/stop-shipping-address-from-being-reset-on-customer-login/)
 *  Thread Starter [hotcookie](https://wordpress.org/support/users/hotcookie/)
 * (@hotcookie)
 * [6 years, 1 month ago](https://wordpress.org/support/topic/stop-shipping-address-from-being-reset-on-customer-login/#post-12759568)
 * Thanks for the reply.
 * Your “assumption” on the default behavior a customer wants is directly at odds
   with the feedback I have gotten from customers who use our site. Have you talked
   with any “customers” and confirmed the view you have? If not, I suggest you don’t
   brush off the issue. The goal of the woocommerce plugin is to make it easy for
   people to add customer interaction to wordpress.
 * I have already begun the process of implementing as much of a workaround as possible
   without changing the core woocommerce shipping implementation and how it manages
   shipping address. My site only uses my custom shipping plugins. The unfortunately
   part of this issues is exactly the one you pointed out, its very hard to fix 
   this problem gracefully without changing the core woocommerce code.
 * With that said, how does automatic get feedback on these type of issues?
 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[PDF Invoices & Packing Slips for WooCommerce] Payment Method in Invoice](https://wordpress.org/support/topic/payment-method-in-invoice/)
 *  Thread Starter [hotcookie](https://wordpress.org/support/users/hotcookie/)
 * (@hotcookie)
 * [6 years, 4 months ago](https://wordpress.org/support/topic/payment-method-in-invoice/#post-12418605)
 * Thanks very much. I realized later that it was a filter, not an action.

Viewing 9 replies - 1 through 9 (of 9 total)