【问题标题】:Display product thumbnail in Woocommerce checkout在 Woocommerce 结帐中显示产品缩略图
【发布时间】:2019-01-24 12:14:30
【问题描述】:

我正在使用 Woocommerce,需要在结帐表中显示产品缩略图。我找到了这个功能:

function isa_woo_cart_attributes($cart_item, $cart_item_key){ 
global $product; 
if (is_cart()){ echo "<style>#checkout_thumbnail{display:none;}</style>"; } 
$item_data = $cart_item_key['data']; 
$post = get_post($item_data->id); 
$thumb = get_the_post_thumbnail($item_data->id, array( 80, 80)); 
echo '<div id="checkout_thumbnail" style="float: left; padding-right: 10px">' . $thumb . '</div> ' . $post->post_title; } add_filter('woocommerce_cart_item_name', isa_woo_cart_attributes, 10, 2);

这是有效的,但我还需要在购物车和 cehckout 表上显示产品属性(或产品摘录,但最好是属性)。感谢您的帮助!

【问题讨论】:

  • 还需要显示哪些信息?
  • 理想的是产品属性,我找到了一个名为 Woocommerce SHow Attributes 的插件,它在不使用上面的代码进行图像显示时工作,似乎在想要显示时有冲突的代码两者,图像和属性。

标签: php wordpress woocommerce thumbnails checkout


【解决方案1】:

更新:您的代码中存在一些错误和错误。

在结帐时,购物车商品数量在产品名称之后……所以要正确显示产品描述,需要额外的代码。

请尝试以下方法:

// cart and checkout inline styles
add_action( 'wp_head', 'custom_inline_styles', 900 );
function custom_inline_styles(){
    if ( is_checkout() || is_cart() ){
        ?><style>
        .product-item-thumbnail { float:left; padding-right:10px;}
        .product-item-thumbnail img { margin: 0 !important;}
        dt.variation-Description { display: none;}
        </style><?php
    }
}

// Product thumbnail in checkout
add_filter( 'woocommerce_cart_item_name', 'product_thumbnail_in_checkout', 20, 3 );
function product_thumbnail_in_checkout( $product_name, $cart_item, $cart_item_key ){
    if ( is_checkout() )
    {
        $thumbnail   = $cart_item['data']->get_image(array( 80, 80));
        $image_html  = '<div class="product-item-thumbnail">'.$thumbnail.'</div> ';

        $product_name = $image_html . $product_name;
    }
    return $product_name;
}

// Cart item qquantity in checkout
add_filter( 'woocommerce_checkout_cart_item_quantity', 'filter_checkout_cart_item_quantity', 20, 3 );
function filter_checkout_cart_item_quantity( $quantity_html, $cart_item, $cart_item_key ){
    return ' <strong class="product-quantity">' . sprintf( '&times; %s', $cart_item['quantity'] ) . '</strong><br clear="all">';
}

// Product description in cart and checkout
add_filter( 'woocommerce_get_item_data', 'product_descrition_to_cart_items', 20, 2 );
function product_descrition_to_cart_items( $cart_item_data, $cart_item ){
    if( $cart_item['data']->get_description() && ( is_cart() || is_checkout() ) ){
        $cart_item_data[] = array(
            'name' => __("Description"),
            'value' => $cart_item['data']->get_description(),
        );
    }
    return $cart_item_data;
}

代码进入您的活动子主题(或活动主题)的 function.php 文件中。经过测试并且可以工作。


购物车页面:

结帐页面:

【讨论】:

  • 谢谢,但我还想在购物车和结账时显示产品描述(不是简短描述)或属性以及图片(最好是电子邮件......)
  • 您的代码可能有错误吗?我无法将它保存在我的函数中,它显示有错误?我也无法在 Notepad+ 中将其保存为 php.file。
  • 无法再次保存函数...抱歉!但是,当您说描述无法显示在购物车页面上时,属性或简短描述是否可以显示在此处以及结帐时与缩略图一起显示?我真的只需要在购物车和结账表中添加 1-2 句关于产品的附加信息。
  • 在我的例子中添加了“描述”这个词并且文本有一个很大的左边距,看这个截图:postimg.cc/image/ehl0to6jb
  • 我可以去掉单词描述和冒号吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-24
  • 2019-01-07
  • 1970-01-01
  • 2021-05-14
  • 1970-01-01
  • 2020-12-25
  • 2014-12-05
相关资源
最近更新 更多