[ad_1]
Hello!
I’ve recently updated your plugin on our install and have run into an error with a custom piece of code to provide compatibility for this plugin:
I got the code for functions.php from your website in reference to this thread:
However now when generating an invoice I get an error related to these lines:
$wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
$tracking_items = $wast->get_tracking_items( $order_id, true );The full code is here:
/** Remove this comment if you don't want to display tracking information in invoice PDF
if($template_type == 'invoice' )return;
**/
/** Remove this comment if you don't want to display tracking information in packing slip PDF
if($template_type == 'packing-slip' )return;
**/
if($template_type == 'proforma' )return;
if($template_type == 'credit-note')return;
$order_id = is_callable( array( $order, 'get_id' ) ) ? $order->get_id() : $order->id;
$wast = WC_Advanced_Shipment_Tracking_Actions::get_instance();
$tracking_items = $wast->get_tracking_items( $order_id, true );
if($tracking_items){
$wcast_customizer_settings = new wcast_initialise_customizer_settings();
$tracking_info_settings = get_option('tracking_info_settings');
$provider_header_text = $wast->get_option_value_from_array('tracking_info_settings','provider_header_text',$wcast_customizer_settings->defaults['provider_header_text']);
$tracking_number_header_text = $wast->get_option_value_from_array('tracking_info_settings','tracking_number_header_text',$wcast_customizer_settings->defaults['tracking_number_header_text']);
$shipped_date_header_text = $wast->get_option_value_from_array('tracking_info_settings','shipped_date_header_text',$wcast_customizer_settings->defaults['shipped_date_header_text']);
$show_track_label = $tracking_info_settings['show_track_label'];
$remove_date_from_tracking_info = $tracking_info_settings['remove_date_from_tracking'];
$track_header_text = $wast->get_option_value_from_array('tracking_info_settings','track_header_text',$wcast_customizer_settings->defaults['track_header_text']);
$display_thumbnail = $tracking_info_settings['display_shipment_provider_image'];
if($tracking_info_settings['header_text_change']){ $shipment_tracking_header = $tracking_info_settings['header_text_change']; } else{ $shipment_tracking_header = "Tracking Information"; }
?>
<h2 class="header_text"><?php echo apply_filters( 'woocommerce_shipment_tracking_my_orders_title', __( $shipment_tracking_header, 'woo-advanced-shipment-tracking' ) ); ?></h2><br/>
<table class="order-details">
<thead>
<tr>
<th class=""><?php _e( $provider_header_text, 'woo-advanced-shipment-tracking' ); ?></th>
<th class=""><?php _e( $tracking_number_header_text, 'woo-advanced-shipment-tracking' ); ?></th>
<?php if($remove_date_from_tracking_info != 1){ ?>
<th class="" style=""><span class="nobr"><?php _e( $shipped_date_header_text, 'woo-advanced-shipment-tracking' ); ?></span></th>
<?php }
?>
<th class=""><?php if($show_track_label == 1){ _e( $track_header_text, 'woo-advanced-shipment-tracking' ); } ?></th>
</tr>
</thead>
<tbody><?php
foreach ( $tracking_items as $tracking_item ) {
$date_shipped = date("Y-m-d");
if(isset($tracking_item['date_shipped'])){
$date_shipped = $tracking_item['date_shipped'];
}
?><tr class="tracking">
<td class="">
<?php
global $wpdb;
$woo_shippment_table_name = wc_advanced_shipment_tracking()->table;
$shippment_provider = $wpdb->get_results( "SELECT * FROM $woo_shippment_table_name WHERE provider_name='".$tracking_item['formatted_tracking_provider']."'" );
$custom_thumb_id = $shippment_provider['0']->custom_thumb_id;
if($custom_thumb_id == 0){
$src = wc_advanced_shipment_tracking()->plugin_dir_url()."assets/shipment-provider-img/".sanitize_title($tracking_item['formatted_tracking_provider']).".png";
} else{
$image_attributes = wp_get_attachment_image_src( $custom_thumb_id , array('60','60') );
if($image_attributes[0]){
$src = $image_attributes[0];
} else{
$src = wc_advanced_shipment_tracking()->plugin_dir_url()."assets/shipment-provider-img/icon-default.png";
}
}
if($display_thumbnail == 1){ ?>
<?php }
echo esc_html( $tracking_item['formatted_tracking_provider'] ); ?>
</td>
<td class="">
<?php echo esc_html( $tracking_item['tracking_number'] ); ?>
</td>
<?php
if($remove_date_from_tracking_info != 1){ ?>
<td class="">
<time datetime="<?php echo date( 'Y-m-d', $date_shipped ); ?>" title="<?php echo date( 'Y-m-d', $date_shipped ); ?>"><?php echo date_i18n( get_option( 'date_format' ), $date_shipped ); ?></time>
</td>
<?php } ?>
<td class="">
<?php $url = str_replace('%number%',$tracking_item['tracking_number'],$tracking_item['formatted_tracking_link']); ?>
<a href="<?php echo esc_url( $url ); ?>" target="_blank"><?php _e( 'Track', 'woo-advanced-shipment-tracking' ); ?></a>
</td>
</tr><?php
}
?></tbody>
</table>
<?php
}
}I wonder if someone could point me in the right direction to fix this. Unfortunately I’ve reverted our production env before I took a copy of the actual error message but I will try and dig this out and report back as soon as if you need it.
