Я много искал, чтобы узнать, была ли такая ситуация у других людей, и не получил ответа.
По сути, у меня есть два товара, которые покупатели могут добавить в свою корзину. Я хочу сделать так, чтобы они не могли оформить заказ ни с одним из этих предметов, если их промежуточная сумма не составляет 15 долларов или больше.
Было бы неплохо иметь возможность просто вставить их идентификаторы в код. Или я могу отнести их к одной категории и установить этот минимум по категориям.
Пока все, что у меня есть, это базовый PHP, который устанавливает универсальный минимум. Мне просто нужна помощь, чтобы выяснить, как ограничить это, чтобы удовлетворить мои потребности.
Я дизайнер, а не разработчик, поэтому любая помощь очень ценится.
// Set a minimum dollar amount per order
add_action( 'woocommerce_check_cart_items', 'spyr_set_min_total' );
function spyr_set_min_total() {
// Only run in the Cart or Checkout pages
if( is_cart() || is_checkout() ) {
global $woocommerce;
// Set minimum cart total
$minimum_cart_total = 10;
// Total we are going to be using for the Math
// This is before taxes and shipping charges
$total = WC()->cart->subtotal;
// Compare values and add an error is Cart's total
// happens to be less than the minimum required before checking out.
// Will display a message along the lines of
// A Minimum of 10 USD is required before checking out. (Cont. below)
// Current cart total: 6 USD
if( $total <= $minimum_cart_total ) {
// Display our error message
wc_add_notice( sprintf( '<strong>A Minimum of %s %s is required before checking out.</strong>'
.'<br />Current cart\'s total: %s %s',
$minimum_cart_total,
get_option( 'woocommerce_currency'),
$total,
get_option( 'woocommerce_currency') ),
'error' );
}
}
}