搜尋

首頁  >  問答  >  主體

取得特定移除商品的購物車商品鍵ID:WooCommerce購物車

在 WooCommerce 中,我有一個自訂 cart.php 模板,我需要在其中檢查刪除的產品(項目)是否是獨一無二的,然後根據該資訊進一步編碼。

有沒有一種方法可以在不使用鉤子的情況下找到已刪除項目的這個 ONE Key id,即通知 '“Item X”已刪除的那個。撤消? '

我在任何地方都找不到任何解決方案。

P粉384244473P粉384244473234 天前397

全部回覆(1)我來回復

  • P粉545956597

    P粉5459565972024-04-05 10:12:26

    您可以透過兩種方式取得已刪除的購物車商品:

    • 從 WC_Cart 物件中使用:

      $removed_items = WC()->cart->get_removed_cart_contents();
    • 從 WC_Session 物件中使用:

      $removed_items = WC()->session->get('removed_cart_contents');

    要定位特定的已刪除產品並取得其金鑰 ID(以及撤銷 URL 或從中刪除 URL),請使用:

    $targeted_product_id = 25; // Set the product ID to target
    $targeted_item_key   = ''; // Initializing
    
    // Get removed cart items
    $removed_items = WC()->cart->get_removed_cart_contents();
    
    // Loop through removed cart items
    foreach( $removed_items as $item_key => $item ) {
        $product_id   = $item['product_id'];
        $variation_id = $item['variation_id'];
    
        if( in_array($targeted_product_id, [$product_id, $variation_id]) ) {
            $targeted_item_key = $item_key; 
            break;
        }
    }
    // get the Undo URL
    $undo_url = WC()->cart->get_undo_url( $targeted_item_key );
    
    // Test output Undo URL
    echo ''. __("Undo Url") . '';
    
    // get the remove URL
    $remove_url = WC()->cart->get_remove_url( $targeted_item_key );
    
    // Test output remove URL
    echo ''. __("Remove Url") . '';
    

    回覆
    0
  • 取消回覆