我在我正在处理的网站上使用woocommerce,我想在结帐页面的顶部显示当前的产品缩略图,以便用户可以查看他要购买的内容。
但是我无法找到任何办法。
我最接近的是使用 WC::cart->get_cart()
,但这会输出所有产品的列表。
我怎样才能做到这一点?
由于
答案 0 :(得分:12)
是的,可以编写自定义函数。
要在标题主题后面的结帐页面开头显示这些图片,请使用以下代码:
add_action('woocommerce_before_checkout_form', 'displays_cart_products_feature_image');
function displays_cart_products_feature_image() {
foreach ( WC()->cart->get_cart() as $cart_item ) {
$product = $cart_item['data'];
if(!empty($product)){
// $image = wp_get_attachment_image_src( get_post_thumbnail_id( $product->ID ), 'single-post-thumbnail' );
echo $product->get_image();
// to display only the first product image uncomment the line bellow
// break;
}
}
}
此代码段会显示您的活动子主题或主题的function.php文件
您可以在get_image()功能中添加一些选项来更改图像属性。
此代码经过测试且功能齐全
其他用途 - 您也可以使用它:
1)使用以下其他结帐 WooCommerce 挂钩 (用其中一个替换代码段代码中的第一行):
•在客户详细信息之前:
add_action('woocommerce_checkout_before_customer_details', 'displays_cart_products_feature_image');
•在客户详细信息之后:
add_action('woocommerce_checkout_after_customer_details', 'displays_cart_products_feature_image');
•订单审核前:
add_action('woocommerce_checkout_before_order_review', 'displays_cart_products_feature_image');
2)直接进入woocommerce templates (此代码段代码会显示在您的活动子主题或主题的function.php文件中):
function displays_cart_products_feature_image() {
foreach ( WC()->cart->get_cart() as $cart_item ) {
$product = $cart_item['data'];
if(!empty($product)){
// $image = wp_get_attachment_image_src( get_post_thumbnail_id( $product->ID ), 'single-post-thumbnail' );
echo $product->get_image();
// to display only the first product image uncomment the line bellow
// break;
}
}
}
然后您只需将其中一个粘贴到template file:
中<?php displays_cart_products_feature_image(); ?>
displays_cart_products_feature_image();
参考: