我的 WooCommerce 商店中的产品通过高级自定义字段插件添加了一个自定义字段store_email_logo
。这个字段是一个图像字段,我不知道如何在 WooCommerce 电子邮件中输出图像。
我尝试了下面的代码,但它不起作用,它输出一些数字而不是图像。
// Tested on WooCommerce version 2.6.x and 3+ — For simple products only.
add_action('woocommerce_email_after_order_table', 'wcv_ingredients_email_logo', 10, 4);
function wcv_ingredients_email_logo( $order, $sent_to_admin, $plain_text, $email ){
foreach($order->get_items() as $item_values){
// Get the product ID for simple products (not variable ones)
$product_id = $item_values['product_id'];
$output = get_post_meta( $product_id, 'store_email_logo', true );
echo ' ' . $output . '<br>';
}
}
显示的“数字”是与您的产品相关联的图像的 ID。有几个函数可以为您输出实际图像。我非常偏爱这个wp_get_attachment_image_src($image_id, $size)
功能。
add_action('woocommerce_email_after_order_table', 'wcv_ingredients_email_logo', 10, 4);
function wcv_ingredients_email_logo( $order, $sent_to_admin, $plain_text, $email ){
foreach($order->get_items() as $item_values){
// Get the product ID for simple products (not variable ones)
$product_id = $item_values['product_id']; //get the product ID
$image_id = get_post_meta( $product_id, 'store_email_logo', true ); //get the image ID associated to the product
$image_src = wp_get_attachment_image_src( $image_id, 'full' )[0]; //get the src of the image - you can use 'full', 'large', 'medium', or 'thumbnail' here,
$image = '<img src="'.$image_src.'">'; //create the img element
echo $image . '<br>'; //echo the image
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句