|
175 | 175 | <tr> |
176 | 176 | <td class="product-name"> |
177 | 177 | <?php do_action( 'wcdn_order_item_before', $product, $order, $item ); ?> |
178 | | - <?php wcdn_get_product_name( $product, $order, $item ); ?> |
| 178 | + <span class="name"> |
| 179 | + <?php |
| 180 | + |
| 181 | + $addon_name = $item->get_meta( '_wc_pao_addon_name', true ); |
| 182 | + $addon_value = $item->get_meta( '_wc_pao_addon_value', true ); |
| 183 | + $is_addon = ! empty( $addon_value ); |
| 184 | + |
| 185 | + if ( $is_addon ) { // Displaying options of product addon. |
| 186 | + $addon_html = '<div class="wc-pao-order-item-name">' . esc_html( $addon_name ) . '</div><div class="wc-pao-order-item-value">' . esc_html( $addon_value ) . '</div></div>'; |
| 187 | + |
| 188 | + echo wp_kses_post( $addon_html ); |
| 189 | + } else { |
| 190 | + |
| 191 | + $product_id = $item['product_id']; |
| 192 | + $prod_name = get_post( $product_id ); |
| 193 | + $product_name = $prod_name->post_title; |
| 194 | + |
| 195 | + echo wp_kses_post( apply_filters( 'wcdn_order_item_name', $product_name, $item ) ); |
| 196 | + ?> |
| 197 | + </span> |
| 198 | + |
| 199 | + <?php |
| 200 | + $item_meta_fields = wc_display_item_meta( $item, apply_filters( 'wcdn_product_meta_data', $item['item_meta'], $item ) ); |
| 201 | + if ( null === $item_meta_fields ) { |
| 202 | + $item_meta_fields = array(); |
| 203 | + } |
| 204 | + $product_addons = array(); |
| 205 | + $woocommerce_product_addon = 'woocommerce-product-addons/woocommerce-product-addons.php'; |
| 206 | + if ( in_array( $woocommerce_product_addon, apply_filters( 'active_plugins', get_option( 'active_plugins', array() ) ), true ) ) { |
| 207 | + $product_id = $item['product_id']; |
| 208 | + if ( class_exists( 'WC_Product_Addons_Helper' ) ) { |
| 209 | + $product_addons = WC_Product_Addons_Helper::get_product_addons( $product_id ); |
| 210 | + } |
| 211 | + } |
| 212 | + if ( version_compare( get_option( 'woocommerce_version' ), '3.0.0', '>=' ) ) { |
| 213 | + if ( isset( $item['variation_id'] ) && 0 !== $item['variation_id'] ) { |
| 214 | + $variation = wc_get_product( $item['product_id'] ); |
| 215 | + foreach ( $item_meta_fields as $key => $value ) { |
| 216 | + if ( ! ( 0 === strpos( $key, '_' ) ) ) { |
| 217 | + if ( is_array( $value ) ) { |
| 218 | + continue; |
| 219 | + } |
| 220 | + $term_wp = get_term_by( 'slug', $value, $key ); |
| 221 | + $attribute_name = wc_attribute_label( $key, $variation ); |
| 222 | + if ( ! empty( $product_addons ) ) { |
| 223 | + foreach ( $product_addons as $addon ) { |
| 224 | + if ( 'file_upload' === $addon['type'] ) { |
| 225 | + if ( $key === $addon['name'] ) { |
| 226 | + $value = wp_basename( $value ); |
| 227 | + } |
| 228 | + } |
| 229 | + } |
| 230 | + } |
| 231 | + if ( isset( $term_wp->name ) ) { |
| 232 | + echo '<br>' . wp_kses_post( $attribute_name . ':' . $term_wp->name ); |
| 233 | + } else { |
| 234 | + echo '<br>' . wp_kses_post( $attribute_name . ':' . $value ); |
| 235 | + } |
| 236 | + } |
| 237 | + } |
| 238 | + } else { |
| 239 | + foreach ( $item_meta_fields as $key => $value ) { |
| 240 | + if ( ! ( 0 === strpos( $key, '_' ) ) ) { |
| 241 | + if ( is_array( $value ) ) { |
| 242 | + continue; |
| 243 | + } |
| 244 | + if ( ! empty( $product_addons ) ) { |
| 245 | + foreach ( $product_addons as $addon ) { |
| 246 | + if ( 'file_upload' === $addon['type'] ) { |
| 247 | + if ( $key === $addon['name'] ) { |
| 248 | + $value = wp_basename( $value ); |
| 249 | + } |
| 250 | + } |
| 251 | + } |
| 252 | + } |
| 253 | + echo '<br>' . wp_kses_post( $key . ':' . $value ); |
| 254 | + } |
| 255 | + } |
| 256 | + } |
| 257 | + } else { |
| 258 | + $item_meta_new = new WC_Order_Item_Meta( $item_meta_fields, $product ); |
| 259 | + $item_meta_new->display(); |
| 260 | + |
| 261 | + } |
| 262 | + ?> |
| 263 | + <dl class="extras"> |
| 264 | + <?php if ( $product && $product->exists() && $product->is_downloadable() && $order->is_download_permitted() ) : ?> |
| 265 | + |
| 266 | + <dt><?php esc_attr_e( 'Download:', 'woocommerce-delivery-notes' ); ?></dt> |
| 267 | + <dd> |
| 268 | + <?php |
| 269 | + // translators: files count. |
| 270 | + printf( esc_attr__( '%s Files', 'woocommerce-delivery-notes' ), count( $item->get_item_downloads() ) ); |
| 271 | + ?> |
| 272 | + </dd> |
| 273 | + |
| 274 | + <?php endif; ?> |
| 275 | + |
| 276 | + <?php |
| 277 | + wcdn_print_extra_fields( $item ); |
| 278 | + $fields = apply_filters( 'wcdn_order_item_fields', array(), $product, $order, $item ); |
| 279 | + |
| 280 | + foreach ( $fields as $field ) : |
| 281 | + ?> |
| 282 | + |
| 283 | + <dt><?php echo esc_html( $field['label'] ); ?></dt> |
| 284 | + <dd><?php echo esc_html( $field['value'] ); ?></dd> |
| 285 | + |
| 286 | + <?php endforeach; ?> |
| 287 | + </dl> |
| 288 | + <?php } ?> |
179 | 289 | <?php do_action( 'wcdn_order_item_after', $product, $order, $item ); ?> |
180 | 290 | </td> |
181 | 291 | <td class="product-item-price"> |
|
0 commit comments