suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Rufen Sie die Warenkorb-Artikelschlüssel-ID eines bestimmten entfernten Artikels ab: WooCommerce-Einkaufswagen

In WooCommerce habe ich eine benutzerdefinierte cart.php Vorlage, in der ich überprüfen muss, ob ein gelöschtes Produkt (Artikel) eindeutig ist, und dann basierend auf diesen Informationen weiteren Code erstellen muss.

Gibt es eine Möglichkeit, diese EINE Schlüssel-ID eines gelöschten Elements zu finden, ohne Hooks zu verwenden, d. h. eine Benachrichtigung '“Item X”已删除的那个。撤消?'?

Ich kann nirgendwo eine Lösung finden.

P粉384244473P粉384244473261 Tage vor428

Antworte allen(1)Ich werde antworten

  • 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") . '';
    

    Antwort
    0
  • StornierenAntwort