我正在工作的网站上使用 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 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 模板 (此代码段中您的活动子主题或主题的 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;
}
}
}
然后,您只需将其中之一粘贴到模板文件中:
内部 HTML 代码:
<?php displays_cart_products_feature_image(); ?>
内部 PHP 代码:
displays_cart_products_feature_image();
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!