نمایش قیمت به هزار تومان و میلیون تومان در Easy Digital Downloads
- مقالات آموزشی
- بروزرسانی شده در
اگر شما قصد دارید که یک فروشگاه اینترنتی با استفاده از سیستم مدیریت محتوای وردپرس راهاندازی کنید میتوانید از افزونههای فروشگاهساز مختلفی استفاده کنید. ازجمله افزونههای قدرتمند در وردپرس میتوان به ووکامرس و EDD اشاره کرد. از افزونه فروشگاهساز ووکامرس برای فروش محصولات فیزیکی و دانلودی بهصورت همزمان و از افزونه EDD برای فروش محصولاتی که بهصورت دانلودی هستند استفاده میشود. شما بسته به نوع نیاز خود میتوانید از هریک از این افزونهها در سایت خود استفاده نمایید. اما مسئله مهم نمایش قیمت به هزار تومان و میلیون تومان در Easy Digital Downloads است که به آن میپردازیم.
آنچه در این مقاله میخوانید
افزونه ایزی دیجیتال دانلودز
ایزی دیجیتال دانلود یک افزونه وردپرسی است که به شما امکان این را میدهد که در سایت خود قابلیت دانلود به ازای پرداخت وجه را فعال کنید. فروشگاه میهن وردپرس نیز از همین افزونه برای فروش قالبها و محصولات استفاده میکند. در ادامه در این مقاله قصد داریم افزونه ایزی دیجیتال دانلود را توضیح داده و سپس نحوه تبدیل ریال به تومان در این افزونه را به شما کاربران عزیز آموزش دهیم.
افزونه ایزی دیجیتال دانلود امکان فروش محصولات شما بهصورت دانلودی را فراهم میکند. این افزونه بسیار کارآمد و مفید است و برای کاربرانی که قصد فروش محصولات خود بهصورت دانلودی را دارند مناسب میباشد. به همین دلیل این افزونه جز افزونههای پرکاربرد و پرطرفدار محسوب میشود.
گسترش دنیای وب باعث شده است که فروشگاههای اینترنتی زیادی در سراسر دنیا مشغول فعالیت شوند. این فروشگاهها محصولات مختلفی را در اختیار کاربران قرار میدهدند که میتواند شامل محصولات دانلودی و یا فیزیکی باشد. توسط افزونههای مختلفی که در این زمینه فعالیت دارند نظیر ووکامرس، ایزی دیجیتال دانلود و… فروش محصولات بهراحتی امکانپذیر است.
توسط این افزونه شما قادر هستید بهراحتی فروشگاه اینترنتی خود را مدیریت و کنترل نمایید. کاربران در دنیای وب میتوانند خریدهای غیرحضوری خودشان را بهراحتی از سایت شما انجام داده و شما میتوانید بهسادگی این خریدها را پشتیبانی کنید.
نمایش قیمت به هزار تومان و میلیون تومان در Easy Digital Downloads
این افزونه بهصورت پیشفرض قیمتها را در فروشگاه شما به ریال به کاربران شما نمایش میدهد. اما شما میتوانید با استفاده از روش زیر نمایش ریال را تبدیل به تومان کنید. شما ممکن است اهداف مختلفی برای انجام این کار خود داشته باشید که در اینجا مهمترین آنها را ذکر میکنیم.
اگر شما صاحب یک فروشگاه اینترنتی هستید با تکنیکهای روانشناسی قیمتها آشنا باشید. شما میتوانید با استفاده از یک سری اقدامات کاری کنید که نگرش مشتری نسبت به قیمتهای شما جور دیگری باشد. درواقع شما باید در نحوه قیمتگذاری محصولات خود نهایت دقت را داشته باشید.
این افزونه قیمت را به ریال نمایش میدهد. چراکه واحد رسمی پول در ایران ریال میباشد. استفاده از ریال ازنظر تکنیکهای بازاریابی و فروش این تفکر را در ذهن مشتری ایجاد میکند که قیمت محصول یا بهتر است بگوییم فایل دانلودی شما بالا است. شما میتوانید با استفاده از این قابلیت بهجای ریال از تومان برای اعلام قیمت محصولات خود استفاده کنید.
امروز سعی داریم نحوه تبدیل ریال به تومان در Easy Digital Downloads و همچنین حذف علامت ممیز از قیمت محصولات در ووکامرس را به شما میهن وردپرسیهای عزیز آموزش دهیم.
آموزش تبدیل ریال به هزار تومان و میلیون تومان در EDD
حال با توجه به دلایل گفتهشده در بالا و یا به هر دلیل دیگری اگر قصد داشته باشید که قیمتها را در سایت خود تبدیل به هزار تومان و میلیون تومان کنید، میتوانید بهراحتی این کار را توسط قطعه کد زیر انجام دهید. برای انجام این کار تنها کافی است کد زیر را در functions.php قالب سایت وردپرسی خود قرار دهید:
// add toman and milion to EDD
function edd_mihan_currency( $formatted, $currency, $price ) {
if ( ! is_admin() ) {
$western_arabic = array('0','1','2','3','4','5','6','7','8','9');
$eastern_arabic = array('۰','۱','۲','۳','۴','۵','۶','۷','۸','۹');
if ( strlen($price) > 9 ){
$price = @str_replace( ',', '', $price );
$price = (int)$price / 10000;
$price = str_replace($western_arabic, $eastern_arabic, $price);
$milion = mb_substr($price,0,1,'utf-8');
$hezar = mb_substr($price,1,3,'utf-8');
return $milion . ' میلیون و ' . $hezar . ' هزار تومان';
} else {
$price = @str_replace( ',', '', $price );
$price = (int)$price / 10000;
$price = str_replace($western_arabic, $eastern_arabic, $price);
return $price . ' هزار تومان';
}
} else {
$price = @str_replace( ',', '', $price );
$price = (int)$price / 10;
$price = number_format($price);
return $price . ' تومان';
}
return $price . ' ریال';
}
add_filter( 'edd_rial_currency_filter_after', 'edd_mihan_currency', 10, 3 );
این نکته را نیز در نظر داشته باشید که کد بالا اعشار را هم از قیمت شما حذف میکند که میتواند نمایش قیمتها را بهتر کند. ? داشتن اعشار برای قیمتها در ذهن کاربر ممکن است حس بدی در هنگام خرید از شما ایجاد کند. درواقع استفاده از اعداد بدون اعشار میتواند گزینه بهتری برای شما باشد.
بهروزرسانی: تنها در نسخه ۲.۸ EDD یک مشکل کد نویسی وجود دارد که باعث میشود تبدیل ریال به تومان در دکمه پرداخت انجام نشود!
برای حل این مشکل نیز راهحلی وجود دارد و شما میتوانید آن را حل کنید. برای انجام آن ابتدا وارد پوشه افزونه شوید. یعنی به مسیر Wp-Content/Plugins/Easy-Digital-Downloads بروید. سپس پوشه Includes را بازکنید. فایل Template-functions.php را با یک نرمافزار ویرایش کد بازکنید.
در اینجا شما باید خط شماره ۱۳۸ را حذف کرده و کد زیر را جایگزین آن کنید:
$args['text'] = '<span class="edd-purchase-button-price-text">' . edd_currency_filter( edd_format_amount( $price ) ) . '</span>';
سپس خط شماره ۱۴۱ را حذف و کد زیر را جایگزین آن کنید:
$currency_markup = '';
شما علاوه بر استفاده از کد میتوانید از افزونه نیز برای انجام این کار استفاده کنید. اما با استفاده از این قطعه میتوانید هم ریال را تبدیل به تومان کرده و هم اعشار را حذف کنید. یعنی دو کار مهم را میتوانید باهم انجام دهید. چراکه افزونه این دو کار را همزمان برای شما انجام نخواهد داد.
موفق باشید. 🙂
سلام استاد خسته نباشید
در نسخه جدید edd خط 138 که اشاره کردید چیزی نوشته نشده که پاکش کنم و کدی که شما دادید را جایگزین کنم لطفا راهنمایی کنید من میخوام ریال را به تومان در صفحه پرداخت درست کنم ممنون از سایت بسیار خوبتون
سلام
در نسخه جدید نیازی به انجام مرحله دوم نیست.
سلام
الان زدم الان بانک ملت ارور میده افزونه 2.8.18 هست
mellat/mellat-edd.php on line 135
این خطای بانک ملت هست نه این کد
وقتی کد تبدیل تومان به ریال رو وارد میکنم با این ارور مواجه میشم:
Warning: A non-numeric value encountered in C:\xampp\htdocs\wp-content\themes\Mysite\functions.php on line ۱۸۵
توی سایت سرچ کنید مخفی کردن خطاهای php
در رابطه با مخفی کردن خطا توی یه سایتی نوشته بود این define(‘WP_DEBUG’, false باید باشه به جای این define(‘WP_DEBUG’, ture توی wp-config . که ماله منم همین طور بود. وقتی کد تبدیل ریال به تومان توی function باشه این ارور میاد اگه نباشه نمی یاد . کد هم درست عمل می کنه و تومان تبدیل به ریال میشه ولی اون ارور هم بالای صفحه میاد .
از هاست بخواهید display errors را off کنند.
سلام ضبح بخیر
یه سوال کردم،جواب ندادید !
من فقط کد اولی رو قرار دادم و چون درست شد (EDD پریروز بروزرسانی شد) کد دومی را نکذاشتم. سوالم اینه الان ریال به تومان شد اما جدا کننده سه صفر خذف شد،چه جوری می تونم جدا کننده سه صفر در قیمت قرار بدم ؟
سلام بخشی از کد که مربوط به جداکننده ها هست رو قرار ندید
سلام
دستتون درد نکنه با این آموزش خوبیتون
با اجازه شما یه اطلاع رسانی دارم و یک سوال
دیروز EDD بروزرسانی شد و کد دوم دیگر لازم نیست (البته من اینجوری متوحه شدم)
سوال : الان که ریال تبدیل به تومان شد،جداکننده صفرها هم از بین میره ! میشه بفرمائید چیکار کنیم جداکننده صفرها باقی بمونه
ممنون
خسته نباشید
در این آدرسی که دادید ( وارد پوشه افزونه شوید. یعنی: wp-content/plugins/easy-digital-downloads سپس پوشه includes را باز کنید. فایل template-functions.php را با یک نرم افزار ویرایش کد باز کنید.) اصلا فایل template-functions.php وجود ندارد !
درود.
درون پوشه includes، فایل : template-functions.php موجود می باشد.
بررسی کنید.
سلام
چطور میشه فقط کاما رو از قیمت حذف کرد؟
فقط کد مربوط به بخش کاما رو قرار بدید یعنی بخش دوم
ببینید من با استفاده از کد زیر واحد تومان رو مستقیم وارد easy digital download کردم
function me_edd_toman_currency( $currencies) {
$currencies[‘تومان’] = ‘واحد پول ایران (تومان)’;
return $currencies;
}
add_filter(‘edd_currencies’, ‘me_edd_toman_currency’);
نمیدونم اون کاما رو چطوری حذف کنم
بصورت های مختلف کد رو نوشتم اما حذف نمیشه. حتما یک جای کار رو اشتباه مینویسم متوجه نمیشم
توی بخش دانلودها > پیکربندی > تب ارز میتونید گزینه جداکننده اعشار رو خالی کنید حل میشه
چك كردم خاليه اما جدا كننده صفرها هنوز نمايش داده ميشه?
مجدد خالی کنید هر دو گزینه رو و ذخیره کنید حل میشه
اول یک / گذاشتم و بروزرسانی کردم علامت “/” رو براس جداسازی نمایش داد
وقتی “/” رو پاک کردم و دوباره بروزرسانی کردم مجددا همون فاصله انداز کوچک پیش فرض رو نمایش میده متاسفانه
مشکل از edd نیست حتما افزونه ای چیزی نصب کردید که بوجود اومده مشکل. ما الان روی سایت خودمون خالی گذاشتیم و دیگه نشون نمیده
تشکر از آموزش خوب شما
دوستان در نسخه جدید که فیلد 138 خالیه باید از فیلد های 136 و 143 استفاده کنید.
سلام من میخوام 14 تومان رو 14/000 تومان نشان بده چکار کنم ؟
سلام باید توی کدنویسی بالا به جای / از * استفاده کنید
سلام
من این کد رو استفاده کردم درست عمل میکنه اما مشکلم اینه که بعد از اعمال کد تخفیف در سبد خرید مبلغ کل بصورت ریال نمایش داده میشود
راهکاری برای این موضوع ندارید؟
سلام این کد برا من کار میکنه فقط چرا کلمه تومان از وسط نصف میشه حرف ت پیدا نیست مینوسه “ومان” . یه سوال دیگه تو کدوم قسمت افزونه edd می تونم کلمه checkout که بالا درگاه نوشته عوضش کنم. دستتون درد نکنه
سلام
کلمه checkout رو میتوانید از قسمت ووکامرس > حلقه های ترجمه تغییر بدهید.
این کارو کردم ولی ترجمه نکرد. نمی دونم منظور سوالم رو درست متوجه شدید. کلمه checkout بالای اون قسمت که ایمیل و نام و … میپرسه. توی افزونه easy digital downloads
سلام
از بخش همه برگه ها > برگه checkout تغییر نام بدهید به هر اسمی که میخواهید.
من آدرس رو نمی خام عوض کنم من فقط می خاستم کلمه checkout رو ترجمه کنم به فارسی بجاش بزارم “پرداخت نهایی” . می خاستم بدونم تو کدوم فایل edd برم و checkout رو عوضش کنم.اگه شدنی بود اونایی که edd رو به فارسی ترجمه کردن checkout رو هم ترجمه می کردن. همه رو ترجمه کردن به جز این کلمه رو .دمت گرم شرمنده وقت تو گرفتم.
آقا حل شد مشکلم باید این رو [download_checkout] هم تو پیجی که تغییر نام دادم بزارم تا صفحه پرداخت بیاد . خیلی کمک کردین ساییتون عالیه .
افزونه Edd رو چطور مثل سایت شما کنم سبد خریدشو ؟
سلام
شما برای این کار به یک کد نویس وطراح وردپرس نیاز دارید.
میتونید از لینک زیر با واحد طراحی در تماس باشید.
http://mihanwp.com/contact
خط 138 خالیه…2 هفته پیش قرار بوده مطلب درست شه چیشد پس
درود.
به دنبال خطوط مشابه باشید، حالا یک چند خط بالاتر یا پایینتر.
دوست عزیز، من درگاه رو دارم، ای نماد رو دارم، افزونه درگاه پاسارگاد رو دارم؛ ولی توی این افزونه درگاه پاسارگاد نمیاد، برعکس ووکامرس به صورت اتومات درگاه پاسارگاد رو میاره.
در ضمن، این کد که شما دادین اصلاً کار نمی کنه، نسخه جدید edd رو نصب کردم، ولی این کد کار نمی کنه. لطف کنید کد رو درست کنید.
سلام این کد ربطی به درگاه نداره. درگاه رو جدا دانلود و نصب کنید و اگر موجود نبود باید کدنویسی اختصاصی کنید. پایین صفحه توضیح دادیم که چطوری مشکل رو حل کنید
درگاه بانکی رو چطور باید فعال کنم؟ در قسمت پیکربندی فقط پی پال و اینجور چیزا هست، به عنوان مثال می خوام درگاه بانک پاسارگاد رو داشته باشم.
درود.
خب باید درگاه مورد نظر را دریافت کنید و نصب کنید تا گزینه آن برای شما فعال شود.
نسخه جدید رو برسی کنید اصلا 138 خالیه خطش و کدی توش نیست
درود.
بررسی خواهد شد و در صورت وجود مشکل اصلاح خواهد شد.
ممنون بابت اطلاع رسانی.
جناب فرونه آپدیت شده و جای خط ها عوض شده ؟
درود.
دقیقا از همین آموزش بر روی میهن وردپرس استفاده شده است.
من که هر کاری گفتین کردم ولی نمیشه
کاشکی یکی یه افزونه درست و حسابی براش می نوشت
من حتی به خود سازنده اش هم پیغام دادم گفت تغییر رو انجام میده، که نداد
درود.
دقیقا همین آموزش بر روی وب سایت میهن وردپرس نیز پیاده سازی شده است.
لطفا مجددا با دقت بیشتری و کپی پیست کردن دقیق کدها انجام دهید.
دقیقا کارایی که گفتید انجام دادم هنوز RIAL هستش
درود.
دقیقا همین آموزش بر روی وب سایت میهن وردپرس نیز پیاده سازی شده است.
لطفا مجددا با دقت بیشتری و کپی پیست کردن دقیق کدها انجام دهید.
سلام
خسته نباشید من از این افزونه استفاده میکنم و قبلا از طریق سایت شما ابتدا مبلغ را به ریال تغیر داده بودم بعد به تومان ، ولی دیشب افزونه به روز رسانی شده و دوباره به RIAL تغیر کرده در صورتی که هم کد ها موجود بوده و هم دوباره پاک کردم و باز اضاف کردم .
ممنون میشم توضیح بدید
سلام پست آپدیت شد. انتهای پست رو مطالعه بفرمایید
در به روز رسانی جدید مشکل حل شد
دمتون گرم مرسی ممنون در ست شد فایل template-functions.php هست که باید ادیت بشه پست رو اصلاح کنید
یه سوال چطوری میتونیم مثل شما مثلا 38000 تومان رو به شکل 38 هزار تومان کنیم ؟ به شکل زیر تغییر دادم درسته
$price = @$price / 10000;
return $price . ‘ هزار تومان’;
خواهش میکنم. ما کدنویسی رو ویرایش کردیم کلا
این فایل template-actions.php فقط 34 خط هست ! منظورتون template-functions.php نیست ؟
بله درسته
سلام این کد کار نمی کنه با نسخه جدید میشه زودتر قرار بدین کد رو ممنون
سلام آموزش آپدیت شد
سلام
من از افزونه edd برای فروش فایل استفاده میکردم که بعد از به روز رسانی دیشب مبالغ از تومان به RIAL تبدیل شده در صورتی که قبلا هم همه کد های تبدیل کننده از RIAL به ریال و از ریال به تومان را قرار داده بود . گفتم شاید مشکل از کد ها باشه پاک کردم و دوباره قرار دادم ولی برطرف نشده ، از طریق وبسایت های دوستام که از این افزونه استفاده میکردم هم همینطور شده و کد های قبلی دیگه کاریی نداره امکانش هست یه کد جدید بسازید و قرار بدید که این مشکل برطرف بشه ؟
سپاس
سلام بله مشکل حل شده کدش رو قرار میدیم روی همین پست به عنوان آپدیت.
سلام.
بی نهایت متشکریم از فعالیت بی چشمداشتتون.
منتظر میمونیم…
نگارش 2.8 مثل اینکه مشکل داره قسمت پیکر بندی هم درست کار نمیکنه واحد ارز رو می خوای عوض کنی قاطی میکنه شما هم آپدیت کردین قسمت پرداخت شما هم خراب شده به ریال به انگلیسی می نویسه
درود.
بله، در جریان این مورد هستیم، ممنون بابت اطلاع رسانی.
انشاالله آموزش به روز خواهد شد.
سلام
مطلب مفیدی بود ممنون
دوستان کد را به اول فایل فانکشن اضافه کنید صد درصد کار میکنه
من به آخر فایل فانکشن اضافه میکردم کار نمیکرد
سلام، دستتون درد نکنه بخاطر این کد
آقای حسینی راد بنده از کامنت های پایین متوجه شدم که این کد “روی سایت شما الان داره کار میکنه بدون مشکل”
ولی چون سوال خیلی از کاربران محترم شماست یک بار دیگه بازبینی کنید یا خودتون امتحان کنید.
مسله ای که بعد از استفاده از کد پیش میاد اینه که در بالای سایت خطای php نشون داده میشه و به لاین 5 این کد اشاره میکنه
(یعنی این: $price = @$price / 10;)
متن خطا اینه:
Warning: A non-numeric value encountered
من با وردپرس 4.8 و EDD 2.7.11 امتحان کردم.
لطفا برای رفع این خطا راهنمایی کنید.
سلام شما باید توی wp-config مقدار debug رو false کنید. یعنی خطاهای غیر مهم نمایش داده نشوند
توی wp-config مقدار debug بصورت پیشفرض false هست. ولی باز این خطا در برگه پرداخت نشون داده میشه.
فکر میکنم مشکل از php 7.1 هست، اگه راه حلی پیدا کردین لطفا بگین.
سپاس.
توی php.ini مقدار display_errors رو off کنید
سلام . این کد با ورژن آخر ایزی دیجیتال کار نمیکنه . بنده دقیقا توی فانکشن کد رو تعریف کردم ولی هیچ تغییری ایجاد نمیشه
سلام روی سایت ما الان داره کار میکنه بدون مشکل
این کد با آپدیت جدید افزونه ی edd دیگه کار نمیکنه حتی رو وردپرس خام هم تست کردم
بیزحمت دوستانی که بلدن این کد رو بازنویسی کنن ممنون
سلام روی سایت خودمون با همین کد داره بدون مشکل کار میکنه
شما خودتون از آخرین ورژن edd استفاده میکنین یا از ورژن های قدیمیش؟
از آخرین نسخه
کد صحیح اینه دوستان :function edd_rial_currency( $formatted, $currency, $price ) { if ( ! is_admin() ) { $price = @str_replace( edd_get_option( ‘thousands_separator’, ‘,’ ) , ”, $price );$price = @$price / 10;return $price . ‘ تومان’; }else return $price . ‘ ریال’; } add_filter( ‘edd_rial_currency_filter_after’, ‘edd_rial_currency’, 10, 3 );add_filter( ‘edd_rial_currency_filter_before’, ‘edd_rial_currency’, 10, 3 );
سلامبرای من هم کار نکردتو قالب من RIAL نوشته شده همه جا به فارسی نیستاگه میشه کد رو بررسی کنید ممنون
نه این کد بر روی بیشتر قالب ها سازگار می باشد (ما از همین کد استفاده کرده ایم)
سلام جناب آقای حسینی من میخوام از مبلغ اعشار را بردارم مثلا در مبلغ 19,900 تومان میخوام این جداکننده اعشار نباشه چیکار باید بکنم؟
سلام توی همین آموزش توضیح داده شده
سلام خسته نباشید آقا برا اینکه اعشار حذف نشه چه کار باید کرد می شه دقیقا بگید کجای کد رو باید تغییر داد .
سلام خطی از کد که remove , رو داره باید حذف بشه
سلاموقتی مبلغی رو برای اشتراک ویژه مشخص می کنم یک نقطه و دو صفر به عنوان اعشار نشون می ده مثلا قیمت من 20000 هزارتومن هست در اما در قسمت قیمت ها اینطوری نشون میده 2000000 دوملیون تومن قطعا مشتری ببینه فرار میکنه این قسمت اعشار رو چطور پاک کنم واسم مشکل ساز شده؟افزونه ی مورد استفاده ی من Restrict Content Pro
آموزش تبدیل ریال به تومن رو توی سایت ببینید آموزش حذف اعشار هم توضیح داده شده
والا کار نمی کنه .
درست استفاده کنید تست شده و کار میکنه
کار نمیده جناب . اصلا اخرین ورژن وردپرس و اخرین ورژن edd
مجدد بررسی کنید. بارها تست شده و جواب داده
سلام. دوست عزیز خط کد 4 یا 5 کدومش مربوط به حذف اعشار میشه . چون منم میخام اعشار باشه
سلام خط 4
ایول کارتون درست.دست مریزاد
با سلام نگفتیید که کد رو کجای کد ها اضافه کنیم !!!!
اولش؟ آخرش؟یا ….
سلام
فرقی نمیکنه. بین باشه
سلام
چطور میشه اعشار رو نمایش داد؟
65000 تومان تبدیل بشه به 65,000 تومان
ممنون
قسمتی که مربوط به حذف اعشار میشه رو از کد حذف کنید