簡體   English   中英

將產品ID添加到購物車項目類別

[英]Add product id to cart item class

我想獲取購物車中某個項目的product_id ,然后將其回顯到一個類(自定義id ),因此我可以分別設置樣式。

我有這個:

<?php
    foreach( WC()->cart->get_cart() as $cart_item ){
        $product_id = $cart_item['product_id'];
        break;
    }
    $product_id   = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );
?> 

<li id="mcitem-<?php echo esc_attr($cart_item_key); ?>" class="custom-<?php echo $product_id'; ?>">

這部分已經在mini-cart.php模板中了, li也沒有,但沒有class屬性,我添加了它。

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

我試圖以不同的方式在類內echo $product_id

echo '$product_id';
echo esc_attr($product_id);

都測試了並且沒有用。 然后我發現了這個片段:

foreach( WC()->cart->get_cart() as $cart_item ){
    $product_id = $cart_item['product_id'];
    break;
}

(還對其進行了無間斷的測試,因此已在循環內外進行了測試)

然后我重復了兩次回聲,但是回聲結果仍然是空白(無)。

我在這里做錯了什么?

如果要在購物woocommerce_cart_item_class添加類,則可以過濾woocommerce_cart_item_class

/**
 * Changes the tr class of cart items.
 *
 * @param  string  $class
 * @param  array   $values
 * @param  string  $values_key
 * @return string
 */
function so_42237701_cart_item_class( $class, $values, $values_key ) {

    if ( isset( $values[ 'product_id' ] ) ) {
        $class .= ' custom-' . $values[ 'product_id' ];
    }

    return $class;
}
add_filter( 'woocommerce_cart_item_class', 'so_42237701_cart_item_class', 10, 3 );

對於迷你手推車:

/**
 * Changes the tr class of items in the mini-cart.
 *
 * @param  string  $class
 * @param  array   $values
 * @param  string  $values_key
 * @return string
 */
function so_42237701_mini_cart_item_class( $class, $cart_item, $cart_item_key ) {

    if ( isset( $cart_item[ 'product_id' ] ) ) {
        $class .= ' custom-' . $cart_item[ 'product_id' ];
    }

    return $class;
}
add_filter( 'woocommerce_mini_cart_item_class', 'so_42237701_mini_cart_item_class', 10, 3 );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM