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

אילו סוגי תמחור התוסף מציע?

  • מכירת מוצרים לפי משקל (קילו/גרם)- מתאים למכירת פירות, ירקות, פיצוחים.
  • מכירת מוצרים ביחידות אך תמחור שלהם לפי משקל (ק"ג/גרם)- מתאים לקצביות, למכירת בשר ודגים, תמיכה בחיוב מושהה (j5).
  • מכירת מוצרים גם לפי משקל וגם לפי יחידות (ע"י יצירת מוצר עם וריאציות), במידת הצורך ניתן לתמחר לפי משקל גם את הוריאציה שנמכרת לפי יחידה.

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

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' );

איך להחיל את אפשרות המידות על כל המוצרים שהוגדרו לפי משקל דרך התוסף Measurement Price Calculator?

add_filter( 'woocommerce_product_get__upw_measurement', 'upw_set_measurement', 10, 2 );
function upw_set_measurement( $measurment, $product ) {
	return is_plugin_active( 'woocommerce-measurement-price-calculator/woocommerce-measurement-price-calculator.php' ) && 'weight' === ( new WC_Price_Calculator_Settings( $item->get_product() ) )->get_calculator_type() ? 'mpc' : $measurment;
}

איך לקבוע את הכמות שתתווסף לעגלה כברירת מחדל בעמודי ארכיון כאשר אין שדה כמות (מתאים רק אם אפשרות ההוספה לסל ב-AJAX מופעלת)?

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 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;
}

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

remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price' );

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

add_filter( 'woocommerce_format_price_range', 'upw_format_price_range_prefix' );
function upw_format_price_range_prefix( $price ) {
	$product_ids = [
		'317'	=> '/kg',
		'329'	=> '/gr',
	];
	global $product;
	return isset( $product_ids[ $product->get_id() ] ) ? $price . $product_ids[ $product->get_id() ] : $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( '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;
}

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

אינטגרציות

איך להתאים את אפשרות סיומת הכמות עם התוסף Qty Increment Buttons?
הוסף לסוף הטמפלייט quantity-input שבתוסף:

do_action( 'woocommerce_after_quantity_input_field' );

איך להתאים את אפשרות סיומת הכמות עם התוסף Yith Request a Quote?

add_filter( 'ywraq_request_quote_view_item_data', 'upw_save_suffix', 10, 3 );
add_action( 'woocommerce_after_quantity_input_field', 'upw_display_suffix' );

function upw_save_suffix( $item_data, $raq, $_product ) {
	$_GET['quantity_suffix'] = $_product->get_meta( '_upw_quantity_suffix' );
	return $item_data;
}

function upw_display_suffix() {
	if ( isset( $_GET['quantity_suffix'] ) ) {
		echo wc_clean( $_GET['quantity_suffix'] );
	}
}

איך להתאים את אפשרות סיומת הכמות עם התבנית WoodMart?

add_filter( 'ywraq_request_quote_view_item_data', 'wc_save_suffix', 10, 3 );
add_action( 'woocommerce_after_quantity_input_field', 'wc_display_suffix' );

function wc_save_suffix( $item_data, $raq, $_product ) {
	$_GET['quantity_suffix'] = $_product->get_meta( '_upw_quantity_suffix' );
	return $item_data;
}

function wc_display_suffix() {
	if ( isset( $_GET['quantity_suffix'] ) ) {
		echo $_GET['quantity_suffix'];
	}
}
הסרת התוסף

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

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';
}

השאירו תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *