2013-06-17 7 views
0

У меня есть небольшая проблема с Wordpress и Woocommerce. Надеюсь, кто-то может мне помочь.Wordpress & Woocommerce добавьте отрывок по электронной почте

Когда пользователь приобретает письмо с вашими данными, такими как название, количество и т. Д. ... Я бы также добавил отрывок из продуктов, близких к четности. Классик <? Php the_excerpt();?> Не работает, кто-нибудь знает, как это сделать?

Файл "по электронной почте порядка-элементы" в WooCommerce \ шаблоны \ письма

Вот код:

<?php 

     $args = array('post_type' => 'product', 'posts_per_page' => 1, 'orderby' => 'desc'); 

     $loop = new WP_Query($args); ?> 
<?php 
/** 
* Email Order Items 
* 
* @author  WooThemes 
* @package  WooCommerce/Templates/Emails 
* @version  2.0.3 
*/ 

if (! defined('ABSPATH')) exit; // Exit if accessed directly 

global $woocommerce; 

foreach ($items as $item) : 

    // Get/prep product data 
    $_product = $order->get_product_from_item($item); 
    $item_meta = new WC_Order_Item_Meta($item['item_meta']); 
    $image = ($show_image) ? '<img src="'. current(wp_get_attachment_image_src(get_post_thumbnail_id($_product->id), 'thumbnail')) .'" alt="Product Image" height="'.$image_size[1].'" width="'.$image_size[0].'" style="vertical-align:middle; margin-right: 10px;" />' : ''; 

    ?> 
    <tr> 
     <td style="text-align:left; vertical-align:middle; border: 1px solid #eee;"><?php 

      // Show title/image etc 
      echo apply_filters('woocommerce_order_product_image', $image, $_product, $show_image); 

      // Product name 
      echo apply_filters('woocommerce_order_product_title', $item['name'], $_product); 

      // SKU 
      echo ($show_sku && $_product->get_sku()) ? ' - cod. articolo (#' . $_product->get_sku() . ')' : ''; 

      // File URLs 
      if ($show_download_links && $_product->exists() && $_product->is_downloadable()) { 

       $download_file_urls = $order->get_downloadable_file_urls($item['product_id'], $item['variation_id'], $item); 

       $i = 0; 

       foreach ($download_file_urls as $file_url => $download_file_url) { 
        echo '<br/><small>'; 

        if (count($download_file_urls) > 1) { 
         echo sprintf(__('Download %d:', 'woocommerce'), $i + 1); 
        } elseif ($i == 0) 
         echo __('Download:', 'woocommerce'); 

        echo ' <a href="' . $download_file_url . '" target="_blank">' . basename($file_url) . '</a></small>'; 

        $i++; 
       } 
      } 

      // Variation 

      echo ($item_meta->meta) ? '<br/><small>' . nl2br($item_meta->display(true, true)) . '</small>' : ''; 


     ?> 
     </td> 

     <td style="text-align:left; vertical-align:middle; border: 1px solid #eee;"><?php echo $item['qty'] ;?> x <?php the_excerpt(); ?> </td> 



     <td style="text-align:left; vertical-align:middle; border: 1px solid #eee;"><?php echo $order->get_formatted_line_subtotal($item); ?></td> 
    </tr> 

    <?php if ($show_purchase_note && $purchase_note = get_post_meta($_product->id, '_purchase_note', true)) : ?> 
     <tr> 
      <td colspan="3" style="text-align:left; vertical-align:middle; border: 1px solid #eee;"><?php echo apply_filters('the_content', $purchase_note); ?></td> 
     </tr> 


    <?php endif; ?> 
<?php endforeach; ?> 

большое спасибо

ответ

-1

Я использовал следующие код, чтобы получить отрывок из сообщений заказов Woocommerce (накладные).

$post_id = $post_id_of_the_product; 
$page_data = get_page($post_id); 
$excerpt = strip_tags($page_data->post_excerpt); 
+0

Можете ли вы плз проверить мой код. wy вы публикуете тот же самый код, чтобы получить выдержку. –

+0

Я написал этот ответ два года назад @MukeshPanchal –

0

Чтобы получить отрывок на электронную почту, попробуйте этот код.

<?php 
/** 
* Email Order Items 
* 
* @author  WooThemes 
* @package  WooCommerce/Templates/Emails 
* @version  2.1.2 
*/ 

if (! defined('ABSPATH')) { 
    exit; // Exit if accessed directly 
} 

foreach ($items as $item_id => $item) : 
    $_product  = apply_filters('woocommerce_order_item_product', $order->get_product_from_item($item), $item); 

    /* To get product excerpt */ 
    $product_data = get_post($item['product_id']); 
    $excerpt = strip_tags($product_data->post_excerpt); 
    echo $excerpt; 

    $item_meta = new WC_Order_Item_Meta($item['item_meta'], $_product); 
    ?> 
    <tr> 
     <td style="text-align:left; vertical-align:middle; border: 1px solid #eee; word-wrap:break-word;"><?php 

      // Show title/image etc 
      if ($show_image) { 
       echo apply_filters('woocommerce_order_item_thumbnail', '<img src="' . ($_product->get_image_id() ? current(wp_get_attachment_image_src($_product->get_image_id(), 'thumbnail')) : wc_placeholder_img_src()) .'" alt="' . __('Product Image', 'woocommerce') . '" height="' . esc_attr($image_size[1]) . '" width="' . esc_attr($image_size[0]) . '" style="vertical-align:middle; margin-right: 10px;" />', $item); 
      } 

      // Product name 
      echo apply_filters('woocommerce_order_item_name', $item['name'], $item); 

      // SKU 
      if ($show_sku && is_object($_product) && $_product->get_sku()) { 
       echo ' (#' . $_product->get_sku() . ')'; 
      } 

      // File URLs 
      if ($show_download_links && is_object($_product) && $_product->exists() && $_product->is_downloadable()) { 

       $download_files = $order->get_item_downloads($item); 
       $i    = 0; 

       foreach ($download_files as $download_id => $file) { 
        $i++; 

        if (count($download_files) > 1) { 
         $prefix = sprintf(__('Download %d', 'woocommerce'), $i); 
        } elseif ($i == 1) { 
         $prefix = __('Download', 'woocommerce'); 
        } 

        echo '<br/><small>' . $prefix . ': <a href="' . esc_url($file['download_url']) . '" target="_blank">' . esc_html($file['name']) . '</a></small>'; 
       } 
      } 

      // Variation 
      if ($item_meta->meta) { 
       echo '<br/><small>' . nl2br($item_meta->display(true, true)) . '</small>'; 
      } 

     ?></td> 
     <td style="text-align:left; vertical-align:middle; border: 1px solid #eee;"><?php echo $item['qty'] ;?></td> 
     <td style="text-align:left; vertical-align:middle; border: 1px solid #eee;"><?php echo $order->get_formatted_line_subtotal($item); ?></td> 
    </tr> 

    <?php if ($show_purchase_note && is_object($_product) && $purchase_note = get_post_meta($_product->id, '_purchase_note', true)) : ?> 
     <tr> 
      <td colspan="3" style="text-align:left; vertical-align:middle; border: 1px solid #eee;"><?php echo wpautop(do_shortcode($purchase_note)); ?></td> 
     </tr> 
    <?php endif; ?> 

<?php endforeach; ?> 
+0

Awesome ...! он работает для меня ... –

+0

Yup .. thanks @GhanshyamLakhani –

Смежные вопросы