עבור אילו סוגי מוצרים התוסף מתאים?
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 = [ '24', '37' ];
$new_step = '0.01';
return ! $step && array_intersect( $cat_ids, wc_get_product_cat_ids( $product->get_id() ) ) ? $new_step : $step;
}
איך להחיל 'יחידות לכמות' מסוימות לכל המוצרים מקטגוריות מסוימות?
עדכן את ה-id של הקטגוריות ואת ה'יחידות לכמות' הרצויות:
add_filter( 'woocommerce_product_get__upw_measurement', 'upw_set_measurement', 10, 2 );
function upw_set_measurement( $measurement, $product ) {
$cat_ids = [ '15', '58' ];
$new_measurement = 'weight';
return 'none' === $measurement && array_intersect( $cat_ids, wc_get_product_cat_ids( $product->get_id() ) ) ? $new_measurement : $measurement;
}
איך להסתיר את המחיר הראשי של המוצרים (מתאים כשמציגים את הסה"כ)?
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_get_min_values() {
return [
'0.1' => '0.3',
'0.01' => '0.5',
];
}
function upw_set_min_value( $step ) {
$min_values = upw_get_min_values();
return $min_values[ $step ] ?? $step;
}
function upw_apply_min_quantity( $passed, $cart_item_key, $values, $quantity ) {
$min_values = upw_get_min_values();
$step = $values['data']->get_meta( '_upw_step' );
if ( $step && isset( $min_values[ $step ] ) && $quantity > 0 && $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 ) {
foreach ( $product->get_available_variations( 'object' ) as $variation ) {
$variation_suffix = $variation->get_meta( '_upw_price_suffix' );
if ( isset( $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' );
איך להסיר את התוסף?
כבה את התוסף, והוסף קוד זה על מנת להמשיך ולראות מחירים וכמויות בהזמנות עם מוצרים עם כמות עשרונית:
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';
}
כתיבת תגובה