מחיר ליחידה לווקומרס


עבור אילו סוגי מוצרים התוסף מתאים?
1. מוצרים שנמכרים ביחידות אך התמחור שלהם לפי משקל (מתאים לחנות דגים ולאטליז/קצביה, מכירת נתחי בשר).
2. מוצרים שנמכרים במשקל (לפי ק"ג/גרם, מתאים לסופרמרקט ולירקניה, למעדניה ולמאפייה, מכירת פירות ירקות ופיצוחים).

איך להציג את שדה הכמות של האפשרות 'כמות בעמודי חנות' רק בעמודים התומכים בה במלואה?

add_filter( 'upw_quantity_field_simple_enabled', 'upw_quantity_field_exclude_pages' );
function upw_quantity_field_exclude_pages( $enabled ) {
	return is_shop() || is_product_category() ? $enabled : false;
}

מדוע סיומת הכמות אינה מופיעה אחרי שדה הכמות?
וודא שבסוף הקובץ templates/global/quantity-input.php שבתבנית/בתוספים קיימת השורה:

do_action( 'woocommerce_after_quantity_input_field' );

איך להחיל Quantity Step מסוים לכל המוצרים מקטגוריות מסוימות?
עדכן את ה-id של הקטגוריות ואת ה-Quantity Step הרצוי:

add_filter( 'woocommerce_product_get__upw_step', 'upw_set_step', 10, 2 );
function upw_set_step( $step, $product ) {
	$cat_ids = [ '37', '24' ];
	$new_step = '0.01';
	return ! $step && array_intersect( $cat_ids, wc_get_product_cat_ids( $product->get_id() ) ) ? $new_step : $step;
}

איך להסתיר את המחיר הראשי של המוצרים (מתאים כשמציגים את הסה"כ)?

remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price' );

איך לקבוע כמות מינימלית להזמנה לכל המוצרים שמוגדרים עם Quantity Step מסוים (לא תואם לאפשרות 'עדכון הכמות האוטומטית')?
עדכן את ה-Quantity Step של המוצרים ואת ערכי המינימום:

add_filter( 'upw_skip_args_validation', '__return_true' );
add_filter( 'upw_product_min_value', 'upw_set_min_value' );
add_filter( 'upw_variation_min_qty', 'upw_set_min_value' );
add_filter( 'woocommerce_update_cart_validation', 'upw_apply_min_quantity', 10, 4 );

function upw_set_min_value( $step ) {
	$min_values = [
		'0.1'	=> '0.3',
		'0.01'	=> '0.5',
	];
	return isset( $min_values[ $step ] ) ? $min_values[ $step ] : $step;
}

function upw_apply_min_quantity( $passed, $cart_item_key, $values, $quantity ) {
	$min_values = [
		'0.1'	=> '0.3',
		'0.01'	=> '0.5',
	];
	$step = $values['data']->get_meta( '_upw_step' );
	if ( $step && isset( $min_values[ $step ] ) && $quantity < $min_values[ $step ] ) {
		wc_add_notice( __( 'A minimum order amount', 'woocommerce' ) . ' (' . $values['data']->get_name() . '): ' . $min_values[ $step ], 'error' );
		return false;
	}
	return $passed;
}

איך להגדיר שה-Quantity Step יהיה הכמות שתתווסף לעגלה כברירת מחדל בעמודי חנות כאשר לא משתמשים באפשרות 'כמות בעמודי חנות'?

add_filter( 'pre_option_woocommerce_enable_ajax_add_to_cart', 'wc_force_ajax_add_to_cart' );
add_filter( 'woocommerce_loop_add_to_cart_args', 'upw_set_default_quantity', 10, 2 );
add_filter( 'woocommerce_product_add_to_cart_text', 'upw_set_text_quantity', 10, 2 );

function wc_force_ajax_add_to_cart() {
	return 'yes';
}

function upw_set_default_quantity( $args, $product ) {
	$step = $product->get_meta( '_upw_step' );
	if ( $step ) {
		$args['quantity'] = $step;
	}
	return $args;
}

function upw_set_text_quantity( $text, $product ) {
	return $product->is_purchasable() && $product->is_in_stock() ? $text . ' ' . $product->get_meta( '_upw_step' ) . $product->get_meta( '_upw_quantity_suffix' ) : $text;
}

איך להציג סיומת למחיר הראשי במוצר עם וריאציות במידה ולכל הוריאציות מוגדרת אותה אחת?

add_filter( 'woocommerce_variable_price_html', 'upw_set_main_price_suffix', 10, 2 );
function upw_set_main_price_suffix( $price, $product ) {
	$product_suffix = '';
	foreach ( $product->get_available_variations( 'object' ) as $variation ) {
		$variation_suffix = $variation->get_meta( '_upw_price_suffix' );
		if ( $product_suffix && $product_suffix !== $variation_suffix ) {
			return $price;
		} else {
			$product_suffix = $variation_suffix;
		}
	}
	return $price . $product_suffix;
}

איך להסתיר את טווח המחירים, שם התכונה ולינק האיפוס במוצרים עם וריאציות?

add_filter( 'woocommerce_reset_variations_link', '__return_empty_string' );
add_filter( 'woocommerce_attribute_label', '__return_empty_string' );
add_filter( 'woocommerce_variable_sale_price_html', '__return_empty_string' );
add_filter( 'woocommerce_variable_price_html', '__return_empty_string' );

איך להציג את שדה הכמות של מוצרים פשוטים רק במעבר עכבר כשמשתמשים באפשרות ה'עדכון האוטומטי של הכמות'?

add_filter( 'upw_auto_update_hide_field', '__return_true' );

מדוע לעיתים מופיעות ספרות רבות בשדה הכמות כשמשתמשים ב-Quantity Step עשרוני?
הזן Quantity Step ללא האפסים בסופו (למשל 0.4 במקום 0.40), נסה Quantity Step של 0.5/0.25, נסה להשתמש בכפתורי הכמות ברירת המחדל של ווקומרס, תבניות מסוימות תומכות ב-Quantity Steps ספציפיים כמו 0.1 ו-0.5 (OceanWP).

איך להסיר את התוסף?
כבה את התוסף, והוסף קוד זה על מנת להמשיך ולראות מחירים וכמויות בהזמנות עם מוצרים עם כמות עשרונית:

remove_filter( 'woocommerce_stock_amount', 'intval' );
add_filter( 'woocommerce_stock_amount', 'floatval' );
if ( is_admin() ) {
	add_filter( 'woocommerce_quantity_input_step', 'upw_admin_quantity_step' );
}

function upw_admin_quantity_step() {
	return 'any';
}

כתיבת תגובה

האימייל לא יוצג באתר.