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

در این بخش کلیه توابع و کدهای مورد نیاز افزونه ایزی دیجیتال دانلودز را با م مرور میکنیم؛

تبدیل ریال به تومان در Easy Digital Downloads

جهت انتخاب واحد پولی ایران در افزونه ایزی دیجیتال دانلود باید از بخش پیکربندی افزونه به تب عمومی رفته سپس بخش تنظیمات ارز را انتخاب کنید تا بتوانید تنظیمات واحد پولی را انجام دهید. از بخش واحد ارزی ریال ایران (ریال) را انتخاب کنید تا کاربران بتوانند وجه محصول را به ریال پرداخت کنند سپس از بخش موقعیت نمایش علامت واحد ارزی می توانید مکان نمایش عبارت ریال در کنار قیمت را تعیین کرد.

همینطور که میدانید واحد پولی پیشفرض تا کنون در افزونه های وردپرس ریال میباشد به همین دلیل قیمت محصولات را نیز باید بر حسب ریال وارد کرد. افزونه EDD نیز قیمت را به ریال نمایش می دهد و از نظر تکنیک های بازاریابی و فروش حرکت زیبایی نیست. نکته ای که وجود دارد نمایش مبالغ خرید کالا در کوئری یا صفحه توضیحات محصول نیز بر حسب ریال است اما با کپی کردن کدهای زیر در فایل functions.php فانکشن پوسته وردپرس میتوانید مبالغ را برحسب تومان نمایش دهید.

functionmw_edd_toman_currency( $currencies) {$currencies['تومان'] = 'واحد پول ایران (تومان)';return$currencies;}add_filter('edd_currencies', 'mw_edd_toman_currency');

نکته: کدهای بالا باید بین دو تگ <?PHP  ?> قرار بگیرد.

بعد از اینکه کدها رو داخل فایل functions.php کپی کردین،تغییرات رو ذخیره کنید و طبق تصویر زیر به بخش پیکربندی افزونه برید،تنظیمات ارز رو انتخاب کنید و از لیست واحد ارزی واحدی رو که اضافه کردیم رو انتخاب کنید

یا از کدهای زیر استفاده نمائید

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-to-toman.*/
function pw_edd_change_currency_sign( $formatted, $currency, $price ) {
$price = str_replace( ',', '', $price );
$price = number_format ( $price, 0,'.',',');
$eng = array('0','1','2','3','4','5','6','7','8','9');
$per = array('۰','۱','۲','۳','۴','۵','۶','۷','۸','۹');
$price = str_replace($eng,$per,$price);
return $price . ' تومان';
}
add_filter( 'edd_rial_currency_filter_after', 'pw_edd_change_currency_sign', 10, 3 );
add_filter( 'edd_rial_currency_filter_before', 'pw_edd_change_currency_sign', 10, 3 );

جهت استفاده آن باید کد را در فایل فانکشن functions.php قرار دهید.

تغییر یا پنهان کردن قیمت صفر تومان در EDD

زمانیکه قیمت های متغیر EDD روی صفر قرار گیرد به صورت 0 تومان نمایش داده میشود که ظاهری جالبی ندارد.

کد زیر را در function.php قالب خود قرار دهید.

برای مخصفی کردن قیمت 0 تومان عبارت free download در خط سوم را خالی و برای نمایش به صورت رایگان بجای آن عبارت رایگان را قرار دهید.

function sumobi_edd_free_download_text_args( $args ) {
// Enter the button text for a free download
$free_download_text = 'Free download';
$variable_pricing = edd_has_variable_prices( $args['download_id'] );
if ( $args['price'] && $args['price'] !== 'no' && ! $variable_pricing ) {
$price = edd_get_download_price( $args['download_id'] );
if ( 0 == $price ) {
$args['text'] = $free_download_text;
}
}
return $args;
}
add_filter( 'edd_purchase_link_args', 'sumobi_edd_free_download_text_args' );

تابع شرطی برای نمایش قیمت در ایزی دیجیتال دانلودز

اگر محصول شما قیمت داشت، قیمت را نمایش میدهد و اگر قیمت نداشت و خالی بود عبارت free را نمایش میدهد؛

<?php if( edd_get_download_price( get_the_ID() ) == 0 ) { ?><h5>Free</h5></span><?php } else { ?><h5><?= edd_get_download_price( get_the_ID() ) ?></h5><?php } ?>

ایجاد بخش نظرات در افزونه Easy Digital Downloads

به صورت پیش فرض بخش نظرات محصولات افزونه EDD غیر فعال هستند، برای ایجاد کامنت در افزونه EDD می‌توانید از کد زیر در فایل functions.php استفاده کنید تا به طور خودکار نظرات برای محصولات EDD فعال شوند.

function custom_enable_comments( $supports ) {    return array_merge( $supports, array( 'comments' ) );}add_filter( 'edd_download_supports', 'custom_enable_comments' );

این کد بخش نظرات برای محصولاتی که قبلا ارسال شده باشند را فعال نخواهد کرد و باید به صورت دستی وارد عمل شوید به این صورت که به بخش همه محصولات بروید و روی ویرایش سریع محصول مورد نظر کلیک کنید، و بعد نظرات را فعال نمایید. همچنین می‌توانید از داخل ویرایش مطلب نیز قسمت نظرات را فعال کنید.

وسط چین کردن دکمه خرید افزونه EDD در نوشته ها

برای این کار از کد زیر استفاده نمائید:

edd_purchase_submit_wrapper {width:100%;display:inline-block;text-align:center;}

تابع نمایش دسته بندی و برچسب افزونه edd در کوئری یا صفحه توضیحات محصول

برای نمایش دسته بندی و تگ برچسب محصولات افزونه ایزی دیجیتال دانلودز میتوانید کدهای زیر را در کوئری یا صفحه مربوط به توضیحات محصول قرار دهید. فایل توضیحات یا ادامه مطلب edd با نام single-download.php در پوسته وردپرس قرار دارد. در صورتیکه فایلی با این نام وجود ندارد، وردپرس به صورت پیشفرض از فایل single.php برای نمایش توضیحات محصولات استفاده خواهد کرد.

نمایش دسته بندی
<?php echo get_the_term_list($post->ID,'download_category','',',',''); ?>

نمایش برچسب ها
<?php echo get_the_term_list($post->ID,'download_tag','',',',''); ?>

تابع نمایش ابر برچسب edd

یکی دیگر از توابع افزونه edd تابع مربوط به نمایش ابر برچسب محصولات در قالب وردپرس می باشد. این تابع لیستی از برچسب های پرکاربرد محصولات edd را نمایش میدهد. کد زیر را در هر محل از پوسته سایت تان کپی کنید. این تابع باید در خارج از حلقه و کوئری وردپرس به صورت مستقل استفاده شود.

<?php wp_tag_cloud(array('taxonomy' =>'download_tag','smallest' =>9,'largest'=>12,'number'=>8,'orderby'=> 'count','order'=> 'DESC','format'=> 'list')); ?>

در توضیح کد بالا می توان گفت که متغییر های smallest و largest برای تغییر اندازه فونت برچسبهایی که دارای بیشترین و کمترین کاربرد هستند مورد استفاده قرار میگیرد همچنین متغییر number برای تعیین تعداد برچسبهای قابل نمایش مورد استفاده قرار می گیرد.

کد نمایش دکمه خرید و قیمت محصولات edd

برای نمایش دکمه خرید محصول و همچنین قیمت کالا در کوئری یا حلقه وردپرس میتوانید از کدهای زیر استفاده کنید.

نمایش دکمه خرید
<?php echo edd_get_purchase_link(get_the_ID(),'افزودن به سبد خرید','button'); ?>

نمایش قیمت محصولات
<?php edd_price(get_the_ID()); ?>

با تغییر عبارت “افزودن به سبد خرید” میتوانید متن دلخواه خود را بنویسید.

خرید مستقیم محصول و هدایت کاربر به صفحه پرداخت

<?php bloginfo('url'); ?>/checkout?edd_action=straight_to_gateway&download_id=<?php echo get_the_ID(); ?> 

جستجو فقط برای محصولات دانلود

اگر می خواهید کاربران به وسیله ی فرم جستجو  فقط محصولات دانلودی را جستجو کنند کد زیر را در فایل searchform.php قرار دهید. فایل searchform.php را باز کنید و کد زیر را قبل از تگ </form> قرار دهید .

<input type="hidden" name="post_type" value="download" />

کد نمایش محصولات مرتبط برای افزونه edd

یکی از راه های نمایش محصولات به خریداران هدف استفاده از محصولات مرتبط در صفحه توضیحات محصول (single-download.php) می باشد. در این روش در انتهای توضیحات محصولی که بازدیدکننده در حال مشاهده آن است تعدادی از کالاهایی که در دسته بندی یکسان و مشابه با محصول فعلی هستند، نمایش داده می شود تا در صورت انصراف از خرید محصول فعلی با دیدن محصولات مشابه توجه خریدار را به آنها جلب کنیم.

برای اینکار کد زیر را در خارج از حلقه وردپرس در صفحه توضیحات کالا قرار می دهیم.

<?php $custom_taxterms = wp_get_object_terms($post->ID,'download_category',array('fields'=>'ids'));
$args = array(
'post_type'=>'download','post_status'=>'publish','orderby'=>'rand',
'posts_per_page' => 4,
'tax_query' => array(
array('taxonomy'=>'download_category','field'=>'id','terms'=>$custom_taxterms)),
'post__not_in' => array ($post->ID)); $related_items = new WP_Query($args);
if ($related_items->have_posts()) :
while ($related_items->have_posts()) : $related_items->the_post(); ?>
کد نمایش محصولات
<?php endwhile; endif; wp_reset_postdata(); ?>

با تغییر مقدار posts_per_page می توانیم تعداد محصولات مرتبط edd را کنترل کنیم.