رفتن به مطلب

آموزش سفارشی سازی افزونه edd


iAmin

پست های پیشنهاد شده

یه راس میرم سر اصل مطلب :D

توی اکثر وبسایت ها برای نمایش لینک افزودن به سبد خرید و... Edd معمولا از شورت کدش استفاده میشه به غیر از چند مورد (اگه قالبشون با edd سازگار باشه)

استافاده میکنن یعنی میان شورت کد افزونه رو میزارن توی مطلبی که گذاشتن

اگه دقت کرده باشید با اضافه کردن هر دانلود یه مطلب مثلا با آدرس http://site.ir/downloads/x این در اصل یه پست تایپه برای Edd ما میتونیم به جای اینکه مطلب جدایی بزاریم و شورت کد این افزونه رو بزاریم تو نوشتمون از همین استفاده کنیم نمایششونم تو سایت خیلی راحته که تو ادامه بهتون توضیح میدم

ما امروز میخوایم خودمون پست تایپی که edd میسازه رو شخصی سازی کنیم و اونو اونجوی که دلمون میخوام نمایش بدیم و...

برای شروع کار ابتدا single.php قالبتون رو باز کنید از روش یک کپی بگیرید و داخل پوشه قالبتون یک فایل با نام single-download.php میسازیم

خب حالا بخش ادامه مطلب edd (همونی که خود افزونه میسازه) ما از سایز پست هامون قالبش جدا شده حالا میتونید هر تغییری که میخواید توی فایل single-download.php بدید و متوجه میشید که قالب ادامه مطلب یا همون پست تایپ این افزونه تغییر کرده اینم اضافه کنم.

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

بعد ما نیاز داریم به چند تا توابع برای مثال نمایش قیمت،نمایش تعداد دانلود،لینک خرید و.... که توی اون فایل بزاریم!

خب حالا میخوایم چند تا دکمه به ادام مطلب edd سایت خودمون اضافه کنیم حالا باید فایل single-download رو باز کتید و بعد از عبارت


<?php the_content(); ?>

دکمه هایی که میخواید رو بزارید (میتونید هرجایی خواستید بزارید من اونجا گزاشتم)

برای مثال من برای قالب خودم چند تا دکمه درست کردم

برا مثال برا نمایش قیمت کافیه از تابع


<?php edd_price($download_id); // will output something like $10 ?>

استفاده کنید

مثلا برای نمایش دکمه افزودن به سبد خرید میتونید از کد زیر استفاده کنید


<a href="http://sitrurl.ir/checkout?edd_action=add_to_cart&download_id=<?php echo get_the_ID(); ?>" title="پرداخت و دریافت" class="big do-scroll">پرداخت و دریافت</a>

که باید به جای http://sitrurl.ir آدرس سایتتون رو بزارید

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

ادامه آموزش در پس بعدی!

لینک به ارسال

برا فعال کردن دیدگاه ها در پست تایپ edd از کد زیر استفاده کنید:


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

برای تبدیل RIAL به ریال که افزونه به صورت فینگلیش ریال رو نمایش میده از کد زیر استفاده کنید


function pw_edd_change_currency_sign( $formatted, $currency, $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 );

همجنین افزونه آدرس رو همونظوری که گفتیم به صورت siteurl.ir/downloads/postname نشون میده برای تغییرش مثلا به site.ir/market/postname میتونید از کد زیر استفاده کنید


define('EDD_SLUG', 'market');

برای تغییر باید market رو ویرایش کنید

ویرایش شده توسط امین رسولی
لینک به ارسال

حالا میخوایم توی صفحه اصلی سا هرجای دیگه از قالب آخرین محصولات edd رو نمایش بدیم 2 تا روش داریم

از شورت کد [downloads] استفاده کنیم

یا از WP_Query استفاده کنیم

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


http://docs.easydigitaldownloads.com/article/276-sample-product-grid-for-your-theme

ادامه آموزش فردا (دوستان برنامه نویس من به این مطالب تسلط کامل ندارم اگه اشتباهی دیدید لطفا بگید تا اصلاح کنم :D)

لینک به ارسال

راستی برای نمایش دسته بندیش نمیتونی از the_category استفاده کنی . باید بجاش از کد زیر استفاده کنی

<?php echo get_the_term_list( $post->ID, 'download_category' , ' ' , ' , ' , '' ); ?>

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


<div class="Hannan37Bas Hannan7 oHannan43 Hannan3">
<h3><span class="b6 sss b Hannan30"></span>جدیدترین محصولات</h3>
</div>
<div class="Hannan37Blok Hannan5 Hannan5sizTepe Hannan6">
<?php echo '<div class="hannan_class120"><ul>';

$args = array(
'post_type' => 'download',
'posts_per_page' => 6,);

$my_query = new WP_Query( $args );
while ($my_query->have_posts()):
$my_query->the_post();
$do_not_duplicate = $post->ID;

echo '<li><a href="'.get_permalink().'"><span class="Hannan13Alan">';

if ( has_post_thumbnail()) :

the_post_thumbnail( 'Hannan37', array('class' => '', 'alt' => ''.the_title_attribute('echo=0').'', 'title' => ''.the_title_attribute('echo=0').'' ));

elseif (get_post_meta($post->ID, 'resim', true) != '') :

echo '<img src="'.get_post_meta($post->ID, 'resim', true).'" alt="'.the_title_attribute('echo=0').'" title="'.the_title_attribute('echo=0').'" width="83" height="92" />'; else : echo '<img src="'.get_bloginfo('template_url').'/images/nothumb.jpg" width="83" height="92" alt="'.the_title_attribute('echo=0').'" title="'.the_title_attribute('echo=0').'" />';

endif;


echo '</span><span class="filmAdi">'; if (strlen($post->post_title) > 26) { echo mb_substr(the_title($before = '', $after = '', FALSE), 0, 26) . '...'; } else {the_title(); } echo '</span></a></li>

';



endwhile;



echo '</ul></div><div class="Hannan9"></div></div>'."\n";
?>

کد پر بازدیدترین محصولات که اینم هرجای سایتت میتونی استفاده کنی ولی نیاز به افزونه wp postviews داره :

<div class="Hannan37Bas Hannan7 oHannan43 Hannan3">
<h3><span class="b6 sss b Hannan30"></span>پربازدید ترین محصولات</h3>
</div>
<div class="Hannan37Blok Hannan5 Hannan5sizTepe Hannan6">
<?php echo '<div class="hannan_class120"><ul>';


$args = array(
'post_type' => 'download',
'posts_per_page' => 6,
'orderby' => 'meta_value_num',
'meta_key' => 'views',
'order' => 'DESC',

);
$my_query = new WP_Query( $args );
while ($my_query->have_posts()):
$my_query->the_post();
$do_not_duplicate = $post->ID;
$views = get_post_meta($post->ID, 'views', true);

echo '<li><a href="'.get_permalink().'"><span class="Hannan13Alan">';

if ( has_post_thumbnail()) :

the_post_thumbnail( 'Hannan37', array('class' => '', 'alt' => ''.the_title_attribute('echo=0').'', 'title' => ''.the_title_attribute('echo=0').'' ));

elseif (get_post_meta($post->ID, 'resim', true) != '') :

echo '<img src="'.get_post_meta($post->ID, 'resim', true).'" alt="'.the_title_attribute('echo=0').'" title="'.the_title_attribute('echo=0').'" width="83" height="92" />'; else : echo '<img src="'.get_bloginfo('template_url').'/images/nothumb.jpg" width="83" height="92" alt="'.the_title_attribute('echo=0').'" title="'.the_title_attribute('echo=0').'" />';

endif;


echo '</span><span class="filmAdi">'; if (strlen($post->post_title) > 26) { echo mb_substr(the_title($before = '', $after = '', FALSE), 0, 26) . '...'; } else {the_title(); } echo '</span></a></li>

';



endwhile;



echo '</ul></div><div class="Hannan9"></div></div>'."\n";
?>



اینم حلقه مربوط به محصولات مشابه بر اساس دسته بندی ها :

 <?php

$custom_taxterms = wp_get_object_terms( $post->ID,'download_category', array('fields' => 'ids') );
$args = array(
'post_type' => 'download',
'post_status' => 'publish',
'posts_per_page' => 4,
'orderby' => 'rand',
'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();

// code marboot be mahsoolat mese onvano axo gheymato ....


endwhile;
endif;
wp_reset_postdata();
?>

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

استفاده از افزونه advanced custom fileds رو هم برای حرفه ای شدن فروشگاهت مد نظر قرار بده .

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

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

منبع

ویرایش شده توسط ahmad4u
لینک به ارسال
  • 2 ماه بعد...

با سلام

شاید شما بخواهید نام "دانلود ها" در پنل مدیریت و کلا عنوان فروشگاه مثلا به صورت "دانلود ها-عنوان سایت" را به عنوان مورد نظر مانند "مارکت-عنوان سایت" تغیر دهید برای این کار کافیست از کد زیر در functions.php قالب خود استفاده کنید:


function pw_edd_product_labels( $labels ) {
$labels = array(
'singular' => __('Product', 'your-domain'),
'plural' => __('Products', 'your-domain')
);
return $labels;
}
add_filter('edd_default_downloads_name', 'pw_edd_product_labels');

به جای your-domain آدرس مورد نظر را قرار دهید مثلا downloads و به جای Product هم مثلا مارکت

منبع

لینک به ارسال
  • 1 سال بعد...

سلام خسته نباشید 

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

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

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

خیلی جاها داشتم دنبال این میگشتم خواهش میکنم ازتون من را هم راهنمایی کتید درستش کنم

دعاتون میکنم

لینک به ارسال
  • 1 سال بعد...
  • 5 ماه بعد...
در در 4/14/2018 at 18:57، REza0536 گفته است :

ممنونم خیلی عالی بود فقط یه سوال

صفحه downloads را چطور میشه سفارشی سازیش کرد؟  یعنی همون صفحه که همه فایل های دانلود وجود داره

ممنون

ابتدا single.php قالبتون رو باز کنید از روش یک کپی بگیرید و داخل پوشه قالبتون یک فایل با نام single-download.php میسازیم

خب حالا بخش ادامه مطلب edd (همونی که خود افزونه میسازه) ما از سایز پست هامون قالبش جدا شده حالا میتونید هر تغییری که میخواید توی فایل single-download.php بدید و متوجه میشید که قالب ادامه مطلب یا همون پست تایپ این افزونه تغییر کرده اینم اضافه کنم.

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

لینک به ارسال
  • 2 سال بعد...
در در ۱۳۹۷/۷/۹ در 18:09، ahmad4u گفته است :

ابتدا single.php قالبتون رو باز کنید از روش یک کپی بگیرید و داخل پوشه قالبتون یک فایل با نام single-download.php میسازیم

خب حالا بخش ادامه مطلب edd (همونی که خود افزونه میسازه) ما از سایز پست هامون قالبش جدا شده حالا میتونید هر تغییری که میخواید توی فایل single-download.php بدید و متوجه میشید که قالب ادامه مطلب یا همون پست تایپ این افزونه تغییر کرده اینم اضافه کنم.

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

چطور میشه برای هر موضوع EDD قالب single متفاوت در نظر گرفت؟

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

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

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...