我制作了一个过滤器来更新woocommerce上的订单显示方式。 基本上我需要店主能够点击每个产品的名称(现在链接到特色图片),并且他能够看到URL(因为图像文件名对他们来说跟踪产品很有用)< / p>
我只需要影响发送给店主的新订单电子邮件。
我在functions.php中的代码会在所有电子邮件中更新BUT,并在网站上订购确认表。
的问题?我怎样才能影响新订单电子邮件?我想我在这里错过了一些东西。
// item name link to product
add_filter( 'woocommerce_order_item_name', 'display_product_title_as_link', 10, 2 );
function display_product_title_as_link( $item_name, $item ) {
$_product = get_product( $item['variation_id'] ? $item['variation_id'] : $item['product_id'] );
$image = wp_get_attachment_image_src( get_post_thumbnail_id( $_product->post->ID ), 'full' );
return '<a href="'. $image[0] .'" rel="nofollow">'. $item_name .'</a>
<div style="color:blue;display:inline-block;clear:both;">'.$image[0].'</div>';
}
答案 0 :(得分:1)
首先,代码中存在一些错误,如:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 120.0;
}
显然已过时,已被 get_product()
WC_Product
属性,而是使用可用的方法。以下是获得您期望的正确方法(仅限“新订单”管理员通知):
wc_get_product()
代码进入活动子主题(活动主题或任何插件文件)的function.php文件中。
在WooCommerce 3 +中测试并运行
答案 1 :(得分:1)
@LoicTheAztec-它无法工作!以图片形式href?全图显示为缩略图?(大电子邮件)缺少产品的永久链接...修复功能display_product_title_as_link
:
function display_product_title_as_link( $item_name, $item ) {
$product = wc_get_product( $item['variation_id'] ? $item['variation_id'] : $item['product_id'] );
$image = wp_get_attachment_image_src( $product->get_image_id(), 'thumbnail' );
$product_name = $product->get_name();
$product_link = get_permalink( $product->get_id() );
return '<a href="'. $product_link .'" target="_blank"><img width="70" height="70" src="'.$image[0].'" alt="'. $product_name .'">'. $product_name .'</a> ';
}