亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 ACF 在 WooCommerce 購物車中獲取可變產品的自定義字段

使用 ACF 在 WooCommerce 購物車中獲取可變產品的自定義字段

PHP
滄海一幻覺 2023-05-12 15:25:44
在 WooCommerce 中,我使用 Advanced Custom Fields 插件來顯示名為“product_cart_image”的自定義字段(圖像),它替換了購物車中產品的默認圖像。該代碼適用于簡單產品,但不適用于可變產品。對于這些,我得到了默認圖像。以下代碼進入cart.php模板文件:foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {    $_product   = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );    $product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );     ?>    <span class="product-thumbnail">    <?php    $product_image      = $_product->get_image();    $product_cart_image = get_field('product_cart_image', $_product->get_id());    if ( ! empty ( $product_cart_image ) ) {        $product_image = wp_get_attachment_image( $product_cart_image['ID'] );    }    $thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $product_image, $cart_item, $cart_item_key );    if ( ! $product_permalink ) {        echo $thumbnail;    } else {        printf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $thumbnail );     }    ?>    </span>    <?php}我怎樣才能讓它也適用于可變產品?
查看完整描述

1 回答

?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

將可變產品添加到購物車時,對于購物車項目 cart,您需要獲取可變產品 ID 而不是變體 ID,因此您將替換以下行:


$product_cart_image = get_field('product_cart_image', $_product->get_id());

經過:


$product_cart_image = get_field('product_cart_image', $cart_item['product_id']);

現在它應該可以工作了……所以在你的代碼中:


foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {

    $_product   = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );

    $product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key ); 

    ?>

    <span class="product-thumbnail">

    <?php

    $product_image      = $_product->get_image();

    $product_cart_image = get_field('product_cart_image', $cart_item['product_id']);


    if ( ! empty ( $product_cart_image ) ) {

        $product_image = wp_get_attachment_image( $product_cart_image['ID'] );

    }


    $thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $product_image, $cart_item, $cart_item_key );


    if ( ! $product_permalink ) {

        echo $thumbnail;

    } else {

        printf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $thumbnail ); 

    }

    ?>

    </span>

    <?php

}


查看完整回答
反對 回復 2023-05-12
  • 1 回答
  • 0 關注
  • 197 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號