تعداد اعشار و فاکتور با کارمزد تعداد در ووکامرس

وضعیت
موضوع بسته شده است و نمی‌توان پاسخ جدیدی فرستاد.

kamiar3712

تازه وارد
با سلام

چند سوال داشتم که ممنون میشوم دوستان پاسخ گویند:

- در ووکامرس امکان تعریف تعداد محصول به اعشار وجود دارد؟ برای مثال 1.75 (برای مثال فروش محصولاتی مانند ارزهای خارجی)

- در ووکامرس امکان تعریف کارمزد که بر اساس تعداد خرید محصول باشد وجود دارد؟ برای مثال خرید زیر 100 عدد کارمزد 5000 تومان و بالای 100 عدد 3000 تومان به فاکتور اضافه شود؟

تشکر بسیار

 
آخرین ویرایش توسط مدیر:

kamiar3712

تازه وارد
شب خوش دوستان

ظاهرا مشکل اعشار برای ووکامرس یک مشکل قدیمی است و تقریبا از صبح تا اکنون که در حال تلاش بودم کسی درست نتواسته مشکل را حل کند (حتی سایت های چینی را هم جستجو کردم.) و حتی پلاگین ها نیز در این بخش مشکل دارند اما چون بالاخره توانستم موضوع را حل کنم در اینجا ذکر میکنم تا دوستان دیگر هم یک روز وقت خود را برای حل آن نگذارند:

برای حل مشکل تمام کدها را مجبور شدم دستی بگردم که در نتیجه به این راه حل رسیدم و مشکل برطرف شد و حالا میتوانم مقدار اعشاردار را بدون هیچ ماژول اضافی وارد کنم (برای مواردی که تعداد کالا برحسب کیلو است و یا متر برای پارچه و حتی خرده ارز و دلار مناسب است.) در فاکتور و فروش هم بدون مشکل محاسبه میشود.

این راه و نام اسامی برای ووکامرس .2.2.3 می باشد برای ووکامرس های دیگر مکان فایل ها و نام فایل ها تغییر کرده است:

بااینکه راه تست شده و درست است اما توصیه میکنم قبل از استفاده از هر فایل بک آپ بگیرید.

- ابتدا باید مقدار صفت textbox تعداد را float کنید, پس وارد مسیر زیر شده:

public_html/wp-content/plugins/woocommerce/templates/global/quantity-input.php

فایل quantity-input.php را باز کرده و type="number" را type="float" بگذارید و فایل را ذخیره کنید.

- نکته کنکوری ماجراهم از این به بعد است که متاسفانه هم ساده است اما تا جایی که دیدم در جایی ذکر نشده است, سپس وارد مسیر زیر شده:

public_html/wp-content/plugins/woocommerce/includes/wc-core-functions.php

فایل wc-core-functions.php (در ووکامرس های گذشته ظاهرا نام فایل woocommerce-core-functions.php باید باشد.) را باز کرده و در خط حدود 32 عبارت زیر را حذف کنید تا عبارت اعشاری ما بدرستی وارد فاکتور شده و محاسبه شود.

add_filter( 'woocommerce_stock_amount', 'intval' ); // Stock amounts are integers by default

هر عزیزی هم استفاده برد و مشکلش حل شد, برای شادی روح شهدا یک صلوات بفرستد

موفق و پیروز باشید

 
آخرین ویرایش توسط مدیر:

kamiar3712

تازه وارد
سلام دوباره دوستان

بخش کارمزد را نیز بصورت نیمه حل نمودم اما مشکلی وجود دارد که ممنون میشوم دوستانی که توانایی دارند راه حل بفرمایند:

برای بخش کارمزد بنده افزونه تخفیف را woocommerce-bulk-discount به کارمزد تغییر دادم یعنی در بخشی که قرار است بصورت تخفیف مبلغ کسر شود, مبلغ اضافه میشود:


کد:
public function filter_cart_product_subtotal( $subtotal, $_product, $quantity ) {

            if ( !$_product || !$quantity ) {
                return $subtotal;
            }
            if ( $this->coupon_check() ) {
                return $subtotal;
            }
            if ( get_post_meta( $_product->id, "_bulkdiscount_enabled", true ) != '' && get_post_meta( $_product->id, "_bulkdiscount_enabled", true ) !== 'yes' ) {
                return $subtotal;
            }

            $coeff = $this->discount_coeffs[$this->get_actual_id( $_product )]['coeff'];
            if ( ( get_option( 'woocommerce_t4m_discount_type', '' ) == 'flat' ) ) {
                $newsubtotal = woocommerce_price( max( 0, ( $_product->get_price() * $quantity ) + $coeff ) );
            } else {
                $newsubtotal = woocommerce_price( $_product->get_price() * $quantity * $coeff );
            }

            return $newsubtotal;
همان طور که متوجه شده اید با + $coeff مبلغ اضافه میشود و اتفاقا در صدور فاکتور در ردیف کالا, مشکلی وجود ندارد و بدرستی کارمزد اضافه میشود اما در جمع کل سبد خرید دوباره مبلغ کسر میشود و بشکلی که انگار مبلغ کالا به صورت تخفیف محاسبه شده, بیان میشود.

در تصویر هم مشخص است.



دوستان نظری دارند؟

تشکر

 

خلیل دلاوران

مدیر انجمن ووکامرس
تغییرات در افزونه کافی نبوده، هنوز یه قسمت یا قسمتهای دیگه ای هم هست که باید تغییر بدین.

انشالله وقتی کامل شد به عنوان یه افزونه توی انجمن برای باقی دوستان هم بذارین دانلود کنن.

 
آخرین ویرایش توسط مدیر:

kamiar3712

تازه وارد
سلام دوستان

مشکل بسیار کوچک است و شاید یکساعت کار داشته باشد اما متاسفانه به علت درگیری کاری نمیتوانم وقت برای آن بگذارم.

اگر عزیزی میتواند مورد را حل کند لطفا هزینه را پ.خ کند.

تشکر

 

Mohammad

مدیر انجمن
پرسنل مدیریت
لطفا قوانین را رعایت کنید!

قفل شد

 
وضعیت
موضوع بسته شده است و نمی‌توان پاسخ جدیدی فرستاد.
بالا