نگاهی تخصصی تر به افزونه easy digital downlods

Amin4All

تازه وارد
30/4/14
27
0
1
در مورد این تاپیک و مشکل :



من این کارو کردم :

در قسمت downloads وقت محصولم رو میزنم.

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

اگر راهی میدونید که توی همون قسمت downloads نوشته ـم بره صفحه اول سایت ممنون میشم.

 

rocki3oy

کاربر عضو
23/9/08
778
41
28
با سلام احترام خدمت دوستان عزیز.

یه مورد پیش اومده می خوام بدونم در edd میشه کاری کرد که کاربری محصول رو خرید کرد برای بار دیگه محصول قابل خرید نباشه و لینک دانلود به کاربر نمایش داده شود و دوباره روی خرید کلیک نکند.

ممنون میشم راهنماییم کنید.

با تشکر از لطف شما.

 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
27/9/12
3,382
17
38
لنگرود
با سلام احترام خدمت دوستان عزیز.یه مورد پیش اومده می خوام بدونم در edd میشه کاری کرد که کاربری محصول رو خرید کرد برای بار دیگه محصول قابل خرید نباشه و لینک دانلود به کاربر نمایش داده شود و دوباره روی خرید کلیک نکند.

ممنون میشم راهنماییم کنید.

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

- - - Updated - - -

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


کد:
$purchased = 0;
$purchases = edd_get_users_purchases( get_current_user_id(), -1, false, 'complete' );
if ( $purchases ) {
foreach ( $purchases as $payment ) {
$downloads = edd_get_payment_meta_cart_details( $payment->ID, true );
if ( $downloads ) {
foreach ( $downloads as $download ) {
if ( $download['id'] == get_the_ID() ) 
$purchased = 1;
}
}
}
}


if ( $purchased == 1 ) {
echo 'شما قبلا این محصول را خریداری کرده اید .';    
}
else {
echo edd_get_purchase_link( array( 'download_id' => get_the_ID(), 'text' => 'اضافه به سبد خرید' ) );
}
باید کد رو داخل همون حلقه محصولات که صفحه های قبل صحبت کردیم بذارید . برای تست کردن هم چندتا محصول مختلف قرار بدید و چند تا خرید مختلف انجام بدید ببینید درست کار میکنه یا نه .

 

rocki3oy

کاربر عضو
23/9/08
778
41
28
شدنو که میشه . ولی اگه محصول چند قیمتی باشه اینکه فقط اون یه قیمت رو براش غیرفعال کنی یکمی سخته !- - - Updated - - -

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


کد:
$purchased = 0;
$purchases = edd_get_users_purchases( get_current_user_id(), -1, false, 'complete' );
if ( $purchases ) {
foreach ( $purchases as $payment ) {
$downloads = edd_get_payment_meta_cart_details( $payment->ID, true );
if ( $downloads ) {
foreach ( $downloads as $download ) {
if ( $download['id'] == get_the_ID() ) 
$purchased = 1;
}
}
}
}


if ( $purchased == 1 ) {
echo 'شما قبلا این محصول را خریداری کرده اید .';    
}
else {
echo edd_get_purchase_link( array( 'download_id' => get_the_ID(), 'text' => 'اضافه به سبد خرید' ) );
}
باید کد رو داخل همون حلقه محصولات که صفحه های قبل صحبت کردیم بذارید . برای تست کردن هم چندتا محصول مختلف قرار بدید و چند تا خرید مختلف انجام بدید ببینید درست کار میکنه یا نه .
با سلام و احترام.

دوست عزیز کدی که دارید درست کار می کنه و مشکلی نداره.

البته کد زیر هم همین کار رو انجام میده.


کد:
<?php 
if( edd_has_user_purchased($user_id, get_post()->ID) ) {
    echo "شما قبلا این محصول را خریداری کرده اید";
} else {
    // link kharid    
}
?>
ولی من می خوام لینک دانلود رو نمایش بده نه این بنویسه شما قبلا خرید کردید.

چون فرض می کنیم یه کاربری 500 تا محصول خرید کرده و اگر با این جمله مواجه بشه باید بره تو لینک 500 محصول صفحه دانلودها بگرده و پیدا کنه و دانلود کنه.

اگر بشه در همان صفحه و در همین قسمت لینک دانلود نمایش داده بشه خیلی عالی میشه.

ممنون میشم در این زمینه راهنمایی کنید.

- - - Updated - - -

با سلام و احترام.

24 ساعت از زمان تاپیک گذشت و با اجازه مدیران و عذرخواهی از همه تاپیک رو بروزرسانی می کنم که دوستان یه نگاهی بندازم و کمکی کنند.

ممنون میشم کمکم کنید.

دوباره سوالم رو مطرح می کنم.

می خوام کاربری که محصول رو در گذشته خریداری کرده به جای خرید لینک دانلود رو نمایش بده.

با تشکر.

 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
27/9/12
3,382
17
38
لنگرود
دوست عزیز شدنشو که میشه . بهترین روش به جواب رسیدن همیشه خود سورس افزونه هست . شما این قسمت رو تجزیه و تحلیل کنید حتما به جواب میرسید :


کد:
easy-digital-downloads\templates\history-downloads.php
 

rocki3oy

کاربر عضو
23/9/08
778
41
28
دوست عزیز شدنشو که میشه . بهترین روش به جواب رسیدن همیشه خود سورس افزونه هست . شما این قسمت رو تجزیه و تحلیل کنید حتما به جواب میرسید :

کد:
easy-digital-downloads\templates\history-downloads.php
با سلام و احترام.

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

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

البته لینک رو احتمالا کد زیر نمایش میده:


کد:
$download_url = edd_get_download_file_url( $purchase_data['key'], $email, $filekey, $download['id'], $price_id );
با تشکر از محبت شما.

 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
27/9/12
3,382
17
38
لنگرود
با سلام و احترام.دوست عزیز فایلی که فرمودید چند روزی هست بررسی کردم ولی متاسفانه از توان ما خارجه.

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

البته لینک رو احتمالا کد زیر نمایش میده:


کد:
$download_url = edd_get_download_file_url( $purchase_data['key'], $email, $filekey, $download['id'], $price_id );
با تشکر از محبت شما.
دوست عزیز پس صبر کنید سر وقت براتون اکی میکنم .

 

ahmad4u

کاربر عضو
22/9/08
142
0
16
با سلام خدمت دوستان و اساتید

چند درخواست برای اضافه شدن به EDD داشتم

1. ایجاد سیستم همکاری در فروش با استفاده از EDD (کاربر بتواند فایل آپلود کند و پس از تعیین پورسانت و ... و تایید مدیر در سایت قرار بگیرد)

2. امکان آپلود فایل ها در هاست دانلود (هاست بجز هاستی که EDD بر روی آن نصب می باشد)

 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
27/9/12
3,382
17
38
لنگرود
سلام .

مورد 1 رو خودم دارم تو سایت خودم انجام میدم . البته بنا به مشغله یکم به تعویق افتاده . کار که تموم شد آموزشش رو میذارم . البته نیاز به 3 افزونه جانبی edd پرمیوم داره .

مورد 2 اگه لینکی که دادین واقعا کار کنه و سالم باشه قیمتش خوبه .

 

wargadoor

تازه وارد
6/4/15
8
0
1
سلام . آقای حنان اگه میشه در مورد استایل دهی جداول ‏edd‏ یک مثال بزنید . مثلا برای تغییر فونت های صفحات رسید و تاریخچه خرید باید از چه کد هایی تو قالب استفاده کرد ؟

با تشکر

 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
27/9/12
3,382
17
38
لنگرود
کافیه با فایرباگ قسمت مورد نظر رو پیدا کنید و کلاس و آیدیش رو بردارید و بهش استایل بدید .

 

wargadoor

تازه وارد
6/4/15
8
0
1
بسیار ممنون

لطفا در مورد کد هایی که برای غیر فعال کردن پرداخت دوباره کاربران برای ‏rocki3oy‏ نوشتید توضیح بدید که باید کدوم فایل و کدوم قسمت نوشته شوند ؟

با تشکر

 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
27/9/12
3,382
17
38
لنگرود
اما من قبلا از arshive-download.php استفاده میکردم خوب کار میکرد ولی تو نمیدونم تو ورژن جدید edd این مشکل پیش اومده یا وردپرس 4 . چون قبلا کار میکرد و حتی قالب اون صفحه رو هم طراحی کرده بودم .
من تازه فهمیدم که archive درسته ، نه arshive .... مشکل از همون بود / :71:

خواستم اطلاع رسانی کنم .

 

ramin_07

تازه وارد
24/9/15
1
0
1
سلام آقای حنان

واقعا دمتون گرم. با خوندن این تاپیک تمام مشکلاتم با edd  حل شد.

فقط یه چیز مونده:

آیا راهی وجود داره که دسته بندی مطالب و دسته بندی دانلود هارو با هم یکی کرد. یعنی :

1) وقتی دانلود میسازم، اونو توی یکی از دسته بندی های مطالبم بزارم.

2) یا راهی باشه که مثلا این دانلود که در رابطه با زبان انگلیسیه، با باز کردن دسته بندی (دسته بندی مطلب) زبان انگلیسی توسط کاربر، این دانلود هم قاطی مطالب زبان انگلیسی  نمایش داده بشه. علت اینکه همچین چیزی رو میخام اینه که سایت من به طور کلی در رابطه با دانلوده و مطلب خیلی کم میزارم. و میخام دیگه فقط همین یکبار یه دانلود بسازم و خلاص... دیگه لازم نباشه شورتکدشو توی مطلب دیگه بزارم.

بازم تشکر

 

talkheporrang

تازه وارد
26/12/12
11
0
1
سلام ودرود خدمت شما..

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

 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
27/9/12
3,382
17
38
لنگرود
سلام ودرود خدمت شما..

من یه سوال درمورد همین مورد داشتم درمورد آخرین محصولات افزونه edd و گفتم توی همین تاپیک مطرح کنم بهتره..میخواستم بدونم آیا میشه آخرین محصولات دانلودی رو با دسته خاصش نشون داد.یعنی فقط محصولات ارسالی یه دسته خاص.ممنون میشم راهنمایی کنید.
سلام . باید از wp query استفاده کنید و  post type و taxonomy های خاص رو نشون بده .

 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
27/9/12
3,382
17
38
لنگرود
<ul><?php $id = 1;wp_reset_query();$args = array( 'post_type' => 'download', 'post_status' => 'publish', 'tax_query' => array( array( 'taxonomy' => 'download_category', 'field' => 'term_id', 'terms' => $id, 'operator' => 'IN', ) ));$the_query = new WP_Query( $args );if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <li> <?php if ( has_post_thumbnail() ) { ?> <a href="<?php the_permalink(); ?>"> <?php the_post_thumbnail(''); ?> </a> <?php } ?> <h3> <a href="<?php the_permalink(); ?>"> <?php the_title(); ?></a> </h3> <span class="amount"><?php echo edd_price($post->ID); ?></span> <?php if ( ! edd_has_variable_prices( get_the_ID() ) ) { echo edd_get_purchase_link( array( 'id' => get_the_ID(), 'style'=> 'plain', 'class'=>'button add_to_cart_button product_type_simple', 'price' =>false, 'text' => 'افزودن به سبد خرید' )); } else { ?> <a class="blue button add_to_cart_button product_type_simple" href="<?php the_permalink(); ?>"> <span class="edd-add-to-cart-label">مشاهده محصول</span> </a> <?php // echo edd_get_purchase_link( array( 'id' => get_the_ID(), 'style'=> 'plain', 'class'=>'button add_to_cart_button product_type_simple', 'price' =>false, 'text' => 'افزودن به سبد خرید' )); } ?> </li> <?php endwhile; endif;wp_reset_query();?> </ul>خط سوم آیدی دسته edd رو جایگزین کنید .

 

talkheporrang

تازه وارد
26/12/12
11
0
1
<ul><?php $id = 1;wp_reset_query();$args = array( 'post_type' => 'download', 'post_status' => 'publish', 'tax_query' => array( array( 'taxonomy' => 'download_category', 'field' => 'term_id', 'terms' => $id, 'operator' => 'IN', ) ));$the_query = new WP_Query( $args );if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <li> <?php if ( has_post_thumbnail() ) { ?> <a href="<?php the_permalink(); ?>"> <?php the_post_thumbnail(''); ?> </a> <?php } ?> <h3> <a href="<?php the_permalink(); ?>"> <?php the_title(); ?></a> </h3> <span class="amount"><?php echo edd_price($post->ID); ?></span> <?php if ( ! edd_has_variable_prices( get_the_ID() ) ) { echo edd_get_purchase_link( array( 'id' => get_the_ID(), 'style'=> 'plain', 'class'=>'button add_to_cart_button product_type_simple', 'price' =>false, 'text' => 'افزودن به سبد خرید' )); } else { ?> <a class="blue button add_to_cart_button product_type_simple" href="<?php the_permalink(); ?>"> <span class="edd-add-to-cart-label">مشاهده محصول</span> </a> <?php // echo edd_get_purchase_link( array( 'id' => get_the_ID(), 'style'=> 'plain', 'class'=>'button add_to_cart_button product_type_simple', 'price' =>false, 'text' => 'افزودن به سبد خرید' )); } ?> </li> <?php endwhile; endif;wp_reset_query();?> </ul>خط سوم آیدی دسته edd رو جایگزین کنید .

ممنون جنان حنان اما جواب نداد. :frown: