Compatibility with WooCommerce PDF Invoices & Packing Slips

[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.

 

This site will teach you how to build a WordPress website for beginners. We will cover everything from installing WordPress to adding pages, posts, and images to your site. You will learn how to customize your site with themes and plugins, as well as how to market your site online.

Buy WordPress Transfer