Php 在WooCommerce快速订单预览窗口的现有产品列中显示产品缩略图

Php 在WooCommerce快速订单预览窗口的现有产品列中显示产品缩略图,php,wordpress,woocommerce,hook-woocommerce,orders,Php,Wordpress,Woocommerce,Hook Woocommerce,Orders,我正在尝试将WooCommerce产品缩略图显示到WooCommerce快速订购窗口,我尝试在下面的代码中使用“WooCommerce\u admin\u order\u preview\u end”和“WooCommerce\u admin\u order\u preview\u get\u order\u details”,但没有任何更改,有人能告诉我正确的方向吗?谢谢 我的尝试代码 add_filter( 'woocommerce_admin_order_preview_end', 'di

我正在尝试将WooCommerce产品缩略图显示到WooCommerce快速订购窗口,我尝试在下面的代码中使用“WooCommerce\u admin\u order\u preview\u end”和“WooCommerce\u admin\u order\u preview\u get\u order\u details”,但没有任何更改,有人能告诉我正确的方向吗?谢谢

我的尝试代码

add_filter( 'woocommerce_admin_order_preview_end', 'display_product_image_in_order_item', 20, 3 );
function display_product_image_in_order_item( $item_name, $item, $is_visible ) {
    // Targeting view order pages only
    if( is_wc_endpoint_url( 'view-order' ) ) {
        $product   = $item->get_product();
        $thumbnail = $product->get_image(array( 60, 120));
        if( $product->get_image_id() > 0 )
            $item_name = '<div class="item-thumbnail">' . $thumbnail . '</div>' . $item_name;
    }
    return $item_name;
}
add_filter('woocommerce_admin_order_preview_end','display_product_image_in_order_item',20,3);
功能显示\u产品\u图像\u顺序\u项目($item\u name,$item$可见){
//仅针对查看订单页面
如果(是_wc_endpoint_url('view order')){
$product=$item->get_product();
$thumbnail=$product->get_image(数组(60120));
如果($product->get\u image\u id()>0)
$item_name='.$thumbnail.'.$item_name;
}
返回$item_name;
}
add_filter('woocmerce_admin_order_preview_get_order_details','display_product_image_in_order_item',20,3);
功能显示\u产品\u图像\u顺序\u项目($item\u name,$item$可见){
//仅针对查看订单页面
如果(是_wc_endpoint_url('view order')){
$product=$item->get_product();
$thumbnail=$product->get_image(数组(60120));
如果($product->get\u image\u id()>0)
$item_name='.$thumbnail.'.$item_name;
}
返回$item_name;
}

通过
woocommerce\u admin\u order\u preview\u line\u item\u columns
过滤器钩子,我们可以选择删除现有产品列并添加新列,用于订单预览


通过
woocmerce\u admin\u order\u preview\u line\u item\u column\u。sanitize_key($column),“
过滤器挂钩,然后我们将重写产品列的内容,并添加产品缩略图

所以你得到:

函数过滤器\商业\管理\订单\预览\行\项目\列($columns,$order){
$new_product=$columns['product'];
未设置($columns['product']);
返回数组\u merge(数组('new\u product'=>$new\u product),$columns);
}
添加过滤器('woocommerce\u admin\u order\u preview\u line\u item\u columns','filter\u woocommerce\u admin\u order\u preview\u line\u item\u columns',10,2);
函数过滤器\u商业\u管理\u订单\u预览\u行\u项目\u列\u新产品($html,$item,$item\u id,$order){
$hidden\u order\u itemmeta=apply\u过滤器(
“woocommerce\u hidden\u order\u itemmeta”,
排列(
'数量',
"税务",,
“\u产品\u id”,
“\u变体\u id”,
“行小计”,
“‘行’小计‘税’,
“‘行’和‘总计’,
"税项",,
“方法id”,
“成本”,
“减少库存”,
'重新进货\退还的物品',
)
);
$product\u object=是否可调用(数组($item,'get\u product')?$item->get\u product():null;
$thumbnail=$product_object->get_image(数组(60,60));
//添加缩略图
如果($product\u object->get\u image\u id()>0){
$html.=''.$thumbnail';
}
$html.=wp_kses_post($item->get_name());
if($product\U对象){
$html.=''.esc_html($product_object->get_sku())。';
}
$meta\u data=$item->get\u formatted\u meta\u data(“”);
如果($元数据){
$html.='';
foreach($meta_data as$meta_id=>$meta){
if(在数组中($meta->key,$hidden\u order\u itemmeta,true)){
继续;
}
$html.=''.wp_kses_post($meta->display_key)。':'.wp_kses_post(强制平衡标签($meta->display_value))。';
}
$html.='';
}
返回$html;
}
添加过滤器('woocommerce\u admin\u order\u preview\u line\u item\u column\u new\u product','filter\u woocommerce\u admin\u order\u preview\u line\u item\u column\u new\u product',10,4);

我发布了一条与此问题相关的新帖子,你能回顾一下吗?[
add_filter( 'woocommerce_admin_order_preview_get_order_details', 'display_product_image_in_order_item', 20, 3 );
function display_product_image_in_order_item( $item_name, $item, $is_visible ) {
    // Targeting view order pages only
    if( is_wc_endpoint_url( 'view-order' ) ) {
        $product   = $item->get_product();
        $thumbnail = $product->get_image(array( 60, 120));
        if( $product->get_image_id() > 0 )
            $item_name = '<div class="item-thumbnail">' . $thumbnail . '</div>' . $item_name;
    }
    return $item_name;
}