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

标签 php wordpress woocommerce checkout product

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

但是我找不到任何方法来做到这一点。

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

我怎样才能做到这一点?

谢谢

最佳答案

是的,可以编写自定义函数。

要在页眉主题之后的结帐页面开头显示这些图像,请使用以下代码:

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 below
            // break;
        }
    }
}

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

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

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


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

1).与以下其他checkout WooCommerce hooks (用其中一个替换代码片段中的第一行):

• 在客户详细信息之前:

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 below
            // break;
        }
    }
}

然后你只需将其中一个粘贴到 template file 中:

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

引用:

关于php - 在结帐 WooCommerce 页面上获取购物车产品 ID,以显示产品图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38798888/

相关文章:

html - 使用 Jumbotron、CSS 和 Wordpress 显示背景

php - 使用短代码显示为产品设置的 WooCommerce 产品标签名称

php - MOODLE 从数据库读取错误

java - 安卓/MySQL : Spinner not populate data from MySQL

jquery - 如何使用单个 CSS 使表单在所有设备上居中

internet-explorer - 重定向子域 (IE) 时保留 anchor

php - 使用 "woocommerce_payment_complete" Hook 时获取产品 ID

css - 更改 woocommerce 页面的宽度

php - ffmpeg 生成具有宽高比的缩略图,但 X 秒进入视频

php - 子文件夹中带有 CakePHP 的 Nginx 不提供静态文件(CSS、JS、IMG)