在结帐WooCommerce页面上获取购物车产品ID,以显示产品图片

Avi*_*y28 3 php wordpress product checkout woocommerce

我正在我正在使用的网站上使用woocommerce,我想在结帐页面的顶部显示当前的产品缩略图,因此用户可以查看他要购买的内容.

但是我找不到任何办法.

我得到的最接近的是使用WC::cart->get_cart(),但是这会输出所有产品的列表.

我怎样才能做到这一点?

谢谢

Loi*_*tec 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;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码段位于您的活动子主题或主题的function.php文件中

您可以在get_image()函数中添加一些选项来更改图像属性.

此代码经过测试且功能齐全


其他用途 - 您也可以使用它:

1)使用以下其他人签出 WooCommerce 钩子 (用其中一个替换片段代码中的第一行):

•客户详细信息之前:

add_action('woocommerce_checkout_before_customer_details', 'displays_cart_products_feature_image');
Run Code Online (Sandbox Code Playgroud)

•客户详细信息后:

add_action('woocommerce_checkout_after_customer_details', 'displays_cart_products_feature_image');
Run Code Online (Sandbox Code Playgroud)

•订单审核之前:

add_action('woocommerce_checkout_before_order_review', 'displays_cart_products_feature_image');
Run Code Online (Sandbox Code Playgroud)

2)直接在您的woocommerce模板中 (此代码段代码在您的活动子主题或主题的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;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,您只需将其中一个粘贴到模板文件中:

  • 内部HTML代码: <?php displays_cart_products_feature_image(); ?>
  • 在PHP代码中: displays_cart_products_feature_image();

参考: