Heim > Fragen und Antworten > Hauptteil
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粉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") . '';