autoship_order_customer_dashboard_icon_column_content (function)
(src/orders.php) Used to populate the custom Autoship column in My Account > Orders. Takes the (WooCommerce) $order as a parameter.
Function
/** * Populates the Custom Autoship Column on the WooCommerce My Account > Orders Dash * * @param WC_Order $order The current row's WC Order */ function autoship_order_customer_dashboard_icon_column_content( $order ){ if ( !$order ) return; $tooltip = array(); $external_data= array( 'source' => '', 'class' => '', 'origin_id' => '', 'scheduled_ids' => '', 'error' => '' ); // Get the Source flag. $external_data['source'] = autoship_get_scheduled_order_related_flag( $order ); // Get the Scheduled order id if it exists $external_data['origin_id'] = autoship_get_order_scheduled_order_origin_id( $order ); // Get the Scheduled orders generated from this order if they exist. $external_data['scheduled_ids'] = autoship_get_order_created_scheduled_orders_key( $order ); if ( empty( $external_data['origin_id'] ) && empty( $external_data['scheduled_ids'] ) && empty( $external_data['source'] )) return; $external_data['notices'] = array(); $scheduled_order_label = autoship_search_for_translate_text( 'Scheduled Order' ); $scheduled_orders_label = autoship_search_for_translate_text( 'Scheduled Orders' ); // If this is an Order generated from a Scheduled Order if ( !empty( $external_data['origin_id'] ) ){ $external_data['source'] = 'result'; $external_data['class'] = 'created'; $schedule = $order->get_meta( 'Schedule' , true); $external_data['notices'][] = wc_sanitize_tooltip( sprintf( __( '%s %d','autoship' ), $scheduled_order_label, $external_data['origin_id'] ) ); $external_data['notices'][] = wc_sanitize_tooltip( sprintf( __( 'Scheduled for %s','autoship' ), $schedule ) ); // If this is an order from which Scheduled Orders are Generated } else if ( !empty( $external_data['scheduled_ids'] ) ) { $external_data['source'] = 'source'; $external_data['class'] = 'scheduled'; $external_data['notices'][] = wc_sanitize_tooltip( sprintf( __( 'Created %s(s) %s','autoship' ), $scheduled_order_label, implode( ', ', $external_data['scheduled_ids'] ) ) ); // Otherwise do we know if this is even a source or result? } else if ( !empty( $external_data['source'] ) ) { $external_data['class'] = 'source' === $external_data['source'] ? 'maybe-scheduled' : 'maybe-created'; $external_data['notices'][] = 'source' === $external_data['source'] ? sprintf( __( 'This order contains Items with associated Schedules and may have produced %s.','autoship' ), $scheduled_orders_label ) : sprintf( __( 'This order might have been generated by a %s.','autoship' ), $scheduled_order_label ); do_action( 'autoship_order_customer_dashboard_icon_column_content_maybe_scheduled_order', $external_data, $order ); return; } $scheduled_orders_url = autoship_get_scheduled_orders_url(); $external_data['notices'] = apply_filters( 'autoship_populate_order_customer_dashboard_icon_tooltip_components', $external_data['notices'], $external_data, $order ); printf( '<a href="%s"><mark class="order-origin-icon %s autoship-tips" data-tip="%s"><span></span></mark></a>', $scheduled_orders_url, $external_data['class'], apply_filters( 'autoship_populate_order_customer_dashboard_icon_tooltip', wp_kses_post( implode( "<br/>", $external_data['notices'] ) ), $external_data, $order ) ); }