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

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

  • מכירת מוצרים לפי משקל (קילו/גרם)- מתאים למכירת פירות, ירקות, פיצוחים.
  • מכירת מוצרים ביחידות אך תמחור שלהם לפי משקל (ק"ג/גרם)- מתאים לקצביות, למכירת בשר ודגים, תמיכה בחיוב מושהה (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;
}

איך לקבוע 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;
}

איך לקבוע את הכמות שתתווסף לעגלה כברירת מחדל בעמודי ארכיון כאשר אין שדה כמות (מתאים רק אם אפשרות ההוספה לסל ב-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' );

איך לקבוע כמות מינימלית להזמנה לכל המוצרים הפשוטים שמוגדרים עם 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;
}

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

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

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

אינטגרציות

איך להתאים את האפשרות סיומת לכמות עם התוסף 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'];
	}
}

איך להסיר את שדה הכמות הנוסף שקיים בפאנל חיפוש של FiboSearch?

add_filter( 'shortcode_atts_product_add_to_cart', 'upw_check_if_fibo' );
add_filter( 'upw_quantity_field_simple_enabled', 'upw_disable_quantity_fibo' );
add_filter( 'upw_enable_shop_quantity', 'upw_disable_quantity_fibo' );
add_filter( 'upw_auto_update_excluded_quantity_input_name', 'upw_disable_fibo_auto_update' );

function upw_check_if_fibo( $out ) {
	$_POST['fibo'] = ! $out['show_price'];
	return $out;
}

function upw_disable_quantity_fibo( $enabled ) {
	return isset( $_POST['fibo'] ) && $_POST['fibo'] ? false : $enabled;
}

function upw_disable_fibo_auto_update( $excluded ) {
	return 'js-dgwt-wcas-quantity';
}

איך למכור ביחידות מוצרים שמתומחרים לפי משקל ושהמחיר שלהם מסונכרן ב-REST API לפי ק"ג?

add_filter( 'woocommerce_product_get_regular_price', 'upl_modify_product_price', 10, 2 );
add_filter( 'woocommerce_product_get_price', 'upl_modify_product_price', 10, 2 );
function upl_modify_product_price( $price, $product ) {
	return 'weight' === $product->get_meta( '_upw_measurement' ) && $product->get_weight() ? round( $price * $product->get_weight(), 2 ) : $price;
}

איך לסנכרן מלאי עשרוני ב-REST API?
לינק.

הסרת התוסף

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

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

השאירו תגובה

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