在woocommerce电子邮件中获取sku和产品图片

时间:2018-10-16 13:21:16

标签: image email woocommerce sku

我将文件“ email-order-details.php”的副本复制到了我的子主题中。现在,我可以修改html,但想在表格中为产品图片添加一个额外的列。使用此代码,我可以显示图像和sku,但它与产品名称,sku,产品描述位于同一列。

        <?php
        echo wc_get_email_order_items( $order, array( // WPCS: XSS ok.
            'show_sku'      => $true,
            'show_image'    => false,
            'image_size'    => array( 32, 32 ),
            'plain_text'    => $plain_text,
            'sent_to_admin' => $sent_to_admin,
        ) );
        ?>

我也想显示不带()的sku,并将其放在列的顶部。我认为必须有一个数组或变量或类似的东西才能获取日期。

例如,这行显示价格,有人可以告诉我如何以相同方式显示sku和产品图片吗?

<th class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;"><?php esc_html_e( 'Price', 'woocommerce' ); ?></th>

提前谢谢

1 个答案:

答案 0 :(得分:0)

尝试此代码段代码,我在子主题的functions.php中使用此代码段

function sww_add_wc_order_email_images( $table, $order ) {

ob_start();

$template = $plain_text ? 'emails/plain/email-order-items.php' : 'emails/email-order-items.php';
wc_get_template( $template, array(
    'order'                 => $order,
    'items'                 => $order->get_items(),
    'show_download_links'   => $show_download_links,
    'show_sku'              => $show_sku,
    'show_purchase_note'    => true,
    'show_image'            => true,
    'image_size'        => array( 200, 200 )
) );

return ob_get_clean();
}
add_filter( 'woocommerce_email_order_items_table', 'sww_add_wc_order_email_images', 10, 2 );