当前位置: 首页 > 知识库问答 >
问题:

将产品类别添加到WooCommerce电子邮件通知

太叔豪
2023-03-14

我正在尝试将产品类别添加到电子邮件通知中。自定义字段(时间和日期)起作用,但产品类别显示为“数组”。

function render_product_description($item_id, $item, $order){
    $_product = $order->get_product_from_item( $item );
    echo "<br>" . $_product->post->post_content;
    echo "<br>";
    echo '<p><strong>Time:</strong><br />';
        echo get_post_meta($_product->id, 'time', true) .'</p>';

    echo '<p><strong>Category:</strong><br />';
        echo wp_get_post_terms($_product->id, 'product_cat', true) .'</p>';

    echo '<p><strong>Date:</strong><br />';
        echo get_post_meta($_product->id, 'date', true) .'</p>';
}

add_action('woocommerce_order_item_meta_end', 'render_product_description',10,3);

共有1个答案

唐昊焜
2023-03-14

您可以使用内爆()函数将数组值连接到字符串中。

我还添加了一个额外的检查空值

php prettyprint-override">function render_product_description( $item_id, $item, $order, $plain_text ) {
    // Get product id
    $product_id = $item->get_product_id();

    // Get product
    $product = $item->get_product();

    // Product content
    $product_content = $product->post->post_content;

    // NOT empty
    if ( ! empty ( $product_content ) ) {
        echo '<p>' . $product_content . '</p>'; 
    }

    // Get post meta
    $time = get_post_meta( $product_id, 'time', true );

    // NOT empty
    if ( ! empty ( $time ) ) {
        echo '<p><strong>Date:</strong><br />' . $time . '</p>';    
    }

    // Get terms
    $term_names = wp_get_post_terms( $product_id, 'product_cat', ['fields' => 'names'] );

    // NOT empty
    if ( ! empty ( $term_names ) ) {
        echo '<p><strong>Categories:</strong><br />' . implode( ", ", $term_names ) . '</p>';   
    }

    // Get post meta
    $date = get_post_meta( $product_id, 'date', true );

    // NOT empty
    if ( ! empty ( $date ) ) {
        echo '<p><strong>Date:</strong><br />' . $date . '</p>';    
    }
}

add_action( 'woocommerce_order_item_meta_end', 'render_product_description', 10, 4 );
 类似资料:
  • 如何将产品说明/单个产品页面的内容(而非简短说明)添加到WooCommerce新订单电子邮件通知中? 我需要知道我的产品的具体书面描述,因为大多数产品几乎都是一样的。

  • 如果客户下了一个订单,我想添加相应的电子邮件通知每个订单项目到新的订单电子邮件通知。 如何将产品自定义域中的收件人添加到Woocommerce新订单电子邮件通知中?

  • 在Woocommerce上,我已将电子邮件订单详细信息php模板文件中的变量更改为,但我仍然无法在电子邮件通知中显示图像: 我需要添加链接以及产品图像。一旦用户点击图像,它应该重定向到特定的页面。 将消息从假更改为真,但图像仍未显示在网站中。

  • 我有一个插件管理我的货件与两个自定义状态:等待-装运和装运。 我尝试添加一个电子邮件发送时,订单传递到发货。 我在Stack Overflow:Woocommerce退款电子邮件中发现了这一点,但我可以知道它是如何工作的 下面是我的插件文件代码: 我用下面的helgatheviking和Adrien Leber的建议更新了我的代码 和我的班级: 当我改变我的订单状态时,什么也没有发生!我的触发函数

  • 在我的WooCommerce网上商店里,我出售洗发水和肥皂等天然产品。目前我只有2个产品。 我想添加一个特定的文本字符串,其中包含一个超链接,指向购买产品的一些背景信息,以防止人们感到困惑: 如果他们购买棕榈油洗发水,我想发送一个超链接,其中包含我们如何制作洗发水等的背景信息。 如果他们买肥皂,我也想买肥皂。 产品A等于超链接A,产品B等于超链接B。 到目前为止,我得到的是: 但它不起作用。 如何

  • 希望你能帮我解决这个问题。我有一个问题,一些产品在子类别404'ing当去那里的产品页面。但奇怪的是,我在谷歌上找不到的只是他们中的一些人在做这件事。 实例 SKU:产品1--类别:类别1 SKU:产品2--类别:类别2,子类别1 SKU:Product3--类别:类别2,子类别1 SKU:Product4--类别:类别2,子类别1 将显示Product1、Product2、Product4。带有