【问题标题】:How to remove certain meta data from customer emails (Woocommerce)?如何从客户电子邮件 (Woocommerce) 中删除某些元数据?
【发布时间】:2023-02-04 15:34:19
【问题描述】:

我的产品有一个非必填字段来上传文件。 结帐后,管理员和客户都会收到一封有关订单的电子邮件。 如果一个项目有一个文件“附加”到它,邮件包括一个预览图像和一个链接到我的商店服务器上的文件。我想从客户的电子邮件中删除这两个但不是文件名。据我所知,有一个钩子可以将内容添加到邮件中显示的内容中。但是我怎样才能删除数据呢?

add_action( 'woocommerce_order_item_meta_start', 'action_woocommerce_order_item_meta_start', 10 , 4 );

function action_woocommerce_order_item_meta_start( $item_id, $item, $order, $plain_text ) {
    // only email notifications
    if ( is_wc_endpoint_url() ) return; 
    
    $metadata = $item['item_meta'];

    // ???
}

邮件的部分看起来像这样:

【问题讨论】:

    标签: php woocommerce


    【解决方案1】:

    解决方案:

    add_filter( 'woocommerce_order_item_display_meta_value', 'change_order_item_meta_value', 20, 3 );
    
    /**
     * Changing a meta value
     * @param  string        $value  The meta value
     * @param  WC_Meta_Data  $meta   The meta object
     * @param  WC_Order_Item $item   The order item object
     * @return string        The title
     */
    function change_order_item_meta_value( $value, $meta, $item ) {
        // only email notifications
        if ( is_wc_endpoint_url() ) return;
     
        // By using $meta-key we are sure we have the correct one.
        if (strstr($meta->key, "Druckvorlage")) {
            $value = strip_tags($value);
        }
    
        return $value;
    }
    

    这是一篇关于使用订单项元数据的好帖子:https://www.ibenic.com/manage-order-item-meta-woocommerce/

    【讨论】:

      猜你喜欢
      • 2021-09-27
      • 1970-01-01
      • 2020-12-27
      • 2019-12-15
      • 2013-01-31
      • 2021-12-27
      • 1970-01-01
      • 1970-01-01
      • 2020-03-24
      相关资源
      最近更新 更多