Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用ACF在WooCommerce购物车中获取可变产品的自定义字段_Php_Wordpress_Woocommerce_Advanced Custom Fields_Cart - Fatal编程技术网

Php 使用ACF在WooCommerce购物车中获取可变产品的自定义字段

Php 使用ACF在WooCommerce购物车中获取可变产品的自定义字段,php,wordpress,woocommerce,advanced-custom-fields,cart,Php,Wordpress,Woocommerce,Advanced Custom Fields,Cart,在WooCommerce中,我使用Advanced Custom Fields插件显示一个名为“product\u cart\u image”的自定义字段(图像),它将替换cart中产品的默认图像。该代码适用于简单产品,但不适用于可变产品。对于这些,我得到默认图像 以下代码位于cart.php模板文件中: foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { $_product =

在WooCommerce中,我使用Advanced Custom Fields插件显示一个名为“product\u cart\u image”的自定义字段(图像),它将替换cart中产品的默认图像。该代码适用于简单产品,但不适用于可变产品。对于这些,我得到默认图像

以下代码位于
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
}
foreach(WC()->cart->get_cart()作为$cart\u item\u key=>$cart\u item){
$\u product=apply\u过滤器('woocommerce\u cart\u item\u product'、$cart\u item['data']、$cart\u item、$cart\u item\u key);
$product\U id=应用\U过滤器('WOOMerce\U cart\U item\U product\U id'、$cart\U item['product\U id']、$cart\U item、$cart\U item\U key);
?>

将可变产品添加到购物车时,对于购物车项目购物车,您需要获取可变产品ID而不是可变ID,因此您将替换以下行:

$product_cart_image = get_field('product_cart_image', $_product->get_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
}
foreach(WC()->cart->get_cart()作为$cart\u item\u key=>$cart\u item){
$\u product=apply\u过滤器('woocommerce\u cart\u item\u product'、$cart\u item['data']、$cart\u item、$cart\u item\u key);
$product\U id=应用\U过滤器('WOOMerce\U cart\U item\U product\U id'、$cart\U item['product\U id']、$cart\U item、$cart\U item\U key);
?>
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
}