<?php
/**
* Adds a tracking number to an order.
*
* @param int $order_id The order id of the order you want to
* attach this tracking number to.
* @param string $tracking_number The tracking number.
* @param string $tracking_provider The tracking provider name.
* @param int $date_shipped The timestamp of the shipped date.
* This is optional, if not set it will
* use current time.
* @param int $status_shipped 0=no,1=shipped,2=partial shipped(if partial shipped order status is enabled)
*/
function ast_insert_tracking_number( $order_id, $tracking_number, $tracking_provider, $date_shipped = null, $status_shipped = 0 ) {
$args = array(
'tracking_provider' => $tracking_provider,
'tracking_number' => $tracking_number,
'date_shipped' => $date_shipped,
'status_shipped' => $status_shipped,
'source' => 'function',
);
$ast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
$ast->insert_tracking_item( $order_id, $args );
}
/**
* Adds a tracking number to an order.
*
* @param int $order_id The order id of the order you want to
* attach this tracking number to.
* @param string $tracking_number The tracking number.
* @param string $tracking_provider The tracking provider slug.
* @param int $date_shipped The timestamp of the shipped date.
* This is optional, if not set it will
* use current time.
* @param int $status_shipped 0=no,1=shipped,2=partial shipped(if partial shipped order status is enabled)
*/
function ast_add_tracking_number( $order_id, $tracking_number, $tracking_provider, $date_shipped = null, $status_shipped = 0 ) {
$ast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
$args = array(
'tracking_provider' => $tracking_provider,
'tracking_number' => $tracking_number,
'date_shipped' => $date_shipped,
'status_shipped' => $status_shipped,
);
$ast->add_tracking_item( $order_id, $args );
}
/**
* Get a tracking information for an order.
*
* @param int $order_id The order id of the order you want to
* get tracking info.
*/
if ( !function_exists( 'ast_get_tracking_items' ) ) {
function ast_get_tracking_items( $order_id ) {
$ast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
$tracking_items = $ast->get_tracking_items( $order_id, true );
return $tracking_items;
}
}
if ( !function_exists( 'ast_get_product_id_by_sku' ) ) {
function ast_get_product_id_by_sku( $sku = false ) {
global $wpdb;
if ( !$sku ) {
return null;
}
$product_id = $wpdb->get_var(
$wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE meta_key='_sku' AND meta_value=%s LIMIT 1", $sku ) );
if ( $product_id ) {
return $product_id;
}
return null;
}
}