Acest cod verifică dacă o comandă WooCommerce este setată pentru ridicare din showroom. Dacă da, în loc să afișeze numărul AWB (de la Cargus sau Fan Courier), afișează un mesaj simplu: „Comanda cu ridicare din showroom.” Dacă livrarea se face prin curier, afișează în continuare AWB-ul normal.
add_action( 'manage_shop_order_posts_custom_column', 'conditional_blank_awb_content', 5, 2 );
add_action( 'manage_woocommerce_page_wc-orders_custom_column', 'conditional_blank_awb_content', 5, 2 );
function conditional_blank_awb_content( $column_name, $order_id ) {
$target_columns = array( 'cargus_AWB', 'fancourier_AWB' );
if ( ! in_array( $column_name, $target_columns, true ) ) {
return;
}
$order = wc_get_order( $order_id );
if ( ! $order ) {
return;
}
$is_local_pickup = false;
$shipping_methods = $order->get_shipping_methods();
if ( ! empty( $shipping_methods ) ) {
foreach ( $shipping_methods as $shipping_item ) {
if ( strpos( $shipping_item->get_method_id(), 'local_pickup' ) === 0 ) {
$is_local_pickup = true;
break;
}
}
}
$screen_id = curiero_get_shop_order_screen_id();
$selected_shipping_method = CurieRO()->printing_methods->get_active()[strtok($column_name, '_')] ?? null;
if ( !$selected_shipping_method ) {
return;
}
$hook = CurieRO()->woocommerce_hpos_enabled ? "manage_{$screen_id}_custom_column" : "manage_{$screen_id}_posts_custom_column";
$callable = [$selected_shipping_method, 'get_custom_columns_values'];
$has_action = has_action($hook, $callable, 6);
if ( $is_local_pickup ) {
if ($has_action) {
remove_action($hook, $callable, 6);
}
echo '<p>Comanda cu ridicare din showroom.</p>';
} else {
if (!$has_action) {
add_action($hook, $callable, 6, 2);
}
}
}