php - 在 WooCommerce 电子邮件通知中显示订单商品的产品类别

标签 php wordpress woocommerce categories email-notifications

我正在使用 Woocommerce 插件智能优惠券。在尝试自定义通过邮件收到的礼券时,我无法显示订单中包含的产品类别。

如何在订单邮件中显示产品的类别?

最佳答案

由于 $order (WC_Order 对象的实例) 包含在大多数电子邮件模板和 Hook 中,因此您可以获得订单中包含的产品类别。请记住,一个订单可以包含许多商品,并且每个商品可以有多个类别。您将使用以下代码获取这些产品类别:

$product_categories = array();

// Loop through order items
foreach( $order->get_items() as $items ){
    // Get an array of the WP_Terms of the product categories
    $terms = wp_get_post_terms( $items->get_product_id(), 'product_cat' );

    // Loop through the product categories WP_Term objects
    foreach( $terms as $wp_term ){
        // Get the product category ID
        $term_id = $wp_term->term_id;
        // Get the product category Nmae
        $term_name = $wp_term->name;
        // Get the product category Slug
        $term_slug = $wp_term->slug;
        // Get the product category Parent ID
        $term_parent_id = $wp_term->parent;

        // Set each product category WP_Term object in an array (avoiding duplicates)
        $product_categories[$wp_term->term_id] = $wp_term;
    }
}
// Output the raw data of all product categories in the order (Testing)
var_dump($product_categories);

此代码经过测试并且可以工作。

关于php - 在 WooCommerce 电子邮件通知中显示订单商品的产品类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47928354/

相关文章:

php - 拉维尔 5 : How to do a join query on a pivot table using Eloquent?

php - MySQL - 如何存储 AES 加密数据?

javascript - 将元素 ID 过滤器添加到页面 anchor 的 jQuery 脚本

css - Wordpress 二十十七首页部分滚动效果不适用于移动设备

mysql - 无法使复杂的 mysql 查询工作

wordpress - 如何获取 woocommerce 的所有产品?

php - 在 Codeigniter 中使用 AJAX 显示图像列表

php - Codeigniter - Bootstrap Modal - 传递数据

CSS定位问题: Wordpress

php - wordpress 中的 Woocommerce - 最近售出的产品?