Skip to content

Instantly share code, notes, and snippets.

@WooForce
Created April 4, 2016 09:47
Show Gist options
  • Save WooForce/2eb8959c3435847787879e25d05731b0 to your computer and use it in GitHub Desktop.
Save WooForce/2eb8959c3435847787879e25d05731b0 to your computer and use it in GitHub Desktop.
FedEx - Add custom customs description / customer reference
add_filter('wf_fedex_request','wf_fedex_label_request_callback', 10, 2 );
function wf_fedex_label_request_callback($request,$order){
$custom_product_description = 'My Product Description';
$request['CustomerReferences'][] = array('CustomerReferenceType' => 'CUSTOMER_REFERENCE', 'Value' => $custom_product_description );
$RequestedPackageLineItems = !empty( $request['RequestedShipment']['RequestedPackageLineItems'] ) ? $request['RequestedShipment']['RequestedPackageLineItems'] : array() ;
$flag = 0;
foreach ($RequestedPackageLineItems as $key => $value) {
$CustomerReferences = !empty($request['RequestedShipment']['RequestedPackageLineItems'][$key]['CustomerReferences']) ? $request['RequestedShipment']['RequestedPackageLineItems'][$key]['CustomerReferences'] : array();
foreach ($CustomerReferences as $cr_key => $cr_value) {
if( isset($request['RequestedShipment']['RequestedPackageLineItems'][$key]['CustomerReferences'][$cr_key]['CustomerReferenceType']) && $request['RequestedShipment']['RequestedPackageLineItems'][$key]['CustomerReferences'][$cr_key]['CustomerReferenceType'] == 'CUSTOMER_REFERENCE' ){
$request['RequestedShipment']['RequestedPackageLineItems'][$key]['CustomerReferences'][$cr_key]['Value'] = $custom_product_description;
$flag = 1;
}
}
}
if( $flag == 0 && !empty( $request['RequestedShipment']['RequestedPackageLineItems'][0] ) ){
$request['RequestedShipment']['RequestedPackageLineItems'][0]['CustomerReferences'][] =array('CustomerReferenceType' => 'CUSTOMER_REFERENCE', 'Value' => $custom_product_description );
}
return $request;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment