Black_Sky 6349 ارسال شده در آذر 94 گزارش بازنشر ارسال شده در آذر 94 با سلام خدمت دوستان عزیزدر این آموزش قصد دارم طریقه ساخت یک باکس دانلود درون وردپرس قرار بدهمدر برخی از سایت های دانلود دیدید که کادری برای دانلود وجود دارد درونشون که حاوی اطلاعاتی همچون :1-لینک دانلود2-آیدی موضوع3-دسته بندی4-پسوند فایل5-حجم فایل6-تاریخ انتشار7-تعداد بازدید پست8- QR9-شبکه های اجتماعی10-سایز تصویرو.....اگر بخواهید اینها دستی وارد کنیم خب باید هر سری کدها سر و کله بزنیم که کار درست و منطقی نیستوردپرس دارای 2 قابلیت هست که در این زمینه میتواند به ما کمک کند1- زمینه دلخواه (Custom_Fields)2- متا باکس (MetaBox)خب در این آموزش درباره Custom_Fields صحبت میکنیمشما یک کادر دارید که درونش از 2 مقدار لینک میخواهید استفاده کنید دانلود قسمت اول دانلود قسمت دومبرای اینکار نیاز به html دارید مثل زیر :<ul><li><a href="">Download Part 1</a><li><li><a href="">Download Part 2</li></ul>سپس شما نیاز دارید که اینها به وردپرس متصل کنید تا از حالت Static به Dynamic تبدیل شوند در اینجا از Custom Fields استفاده میکنیم ابتدا از لینک زیر درباره get_post_meta مقداری مطالعه کنید https://codex.wordpress.org/Custom_Fieldsسپس میاییم با php یک متغیر تعریف میکنیم به اسم link<?php $link ?>در قسمت دوم مقدار link برابر get_post_meta دهید <?php $link = get_post_meta($post_id, $key, $single);?>توضیح هر کدام قبلا داده شده است در لینک پس مطالعه کنید که میشه :<?php $link = get_post_meta($post->ID,'link',true)?>حالا ما یک شرط هم قرار میدیم ککه در صورت خالی بودن و ... مشکلی پیش نیاد if<?php $link = get_post_meta($post->ID,'link',true);if( $link!=null ){?>و در آخر میبندیم :<?php }?>حالا انصال به وردپرس : هیچی فقط همون متغیر در محل مورد نظر چاپ میکنیم با echo <?php echo $company; ?>که میشه <ul><?php $link = get_post_meta($post->ID,'link',true);if( $link!=null ){?><li><a href="<?php $link1 ;?>">Download Part 1</a><li><?php }?><?php $link2 = get_post_meta($post->ID,'link2',true);if( $link2!=null ){?><li><a href="<?php $link2 ;?>">Download Part 2</li><?php }?></ul>البته یک مقداری تغییرات و... بهترین حالت ها میشه من فقط با سرعت مثال زدم میشه بهینه تر و ساده تر هم کرد زیبایی هم با خودتان و توضیح کامل تر هم قرار داده خواهد شدخب حالا شما باکس خودتون و با زمینه خودتون داریداما میخواهیم پیشرفته تر کنیمبرای مثال من از باکس زیر استفاده میکنم با این استایل :Example :http://jsbin.com/pemafehico/<html><head><title>Example Box Download</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><style>#main{box-shadow: 0px 0px 10px 5px #888888;border: 1px solid #c2c2c2;text-align: right;width: 400px;float: right;}.b1{background: rgb(234, 234, 234);border-bottom:1px solid #c2c2c2;}.b2{border-bottom:1px solid #c2c2c2;}</style></head><body><div id="main"><div class="b1"><div>کد طرح : </div></div><div class="b2"><div>لينک دانلود : </div></div><div class="b1"><div>دسته بندي : </div></div><div class="b2"><div>فرمت فايل : </div></div><div class="b1"><div>تاريخ انتشار : </div></div><div class="b2"><div><div>حجم فايل: </div></div></div><div class="b1"><div>تعداد بازديد : </div></div></div></body></html>حالا میریم سراغ تکمیل کردن این کادر ها :در قسمت اول ما میخواهیم برای هر موضوع یک ID مشخص قرار بدیمخب نیازی به نوشتن نیست قبلا خود وردپرس آماده کرده با استفاده از :<?php the_ID(); ?>و در محل نمایش قرار میدهیمبرای استفاده از لینک دانلود کافیه که از زمینه دلخواه استفاده کنیم که قبلا آموزش اون دادیم :<?php $link = get_post_meta($post->ID,'link',true) ;if ($link !=null) {?><div>Link DOwnload: <?php echo $link() ;?></div><?php }?>حالا میریم سراغ نمایش دسته بندی با استفاده از :<?php the_category();?>شاید دسنه بندی ها زیاد باشد و ما نیازی به نمایش همه آن نداشته باشیممیتونیم از کد زیر استفاده کنیم :<?php $category = get_the_category(); if ($category) { echo '<a href="' . get_category_link( $category[0]->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category[0]->name ) . '" ' . '>' . $category[0]->name.'</a> ';} ?>حالا میخواهیم ببینیم که فایل ما دارای چه پسوندی میباشد : (مثلا ZIP , RAR , PNG &....)<?php print_r(pathinfo($link,PATHINFO_EXTENSION));?>ما قبلا متغیر $link با استفاده از زمینه دلخواه پرکردیم و درونش لینک دانلود فایل استالان هم از طریق همان متغیر پسوند فایل تشخیص میدهیمحالا نوبت به تایین مقدار حجم میرسد :<?php$file = $link;$ch = curl_init($file);curl_setopt($ch, CURLOPT_NOBODY, true);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_HEADER, true);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);$data = curl_exec($ch);curl_close($ch);if (preg_match('/Content-Length: (\d+)/', $data, $matches)) {$file_size =$contentLength = (int)$matches[1] .'KB';}echo size_format($file_size, 2);?>چون از Curl استفاده شده هنگام لود صفحه مقداری طول میکشد پس دقت کنیدتعداد بازدید میشه با استفاده از کدها هم نوشت که قبلا آموزش اون در انجمن قرار دادم اما اگر نخواستید میتونید با استفاده از دستور شرطی زیراز پلاگین استفاده کنید :برای تعیین زمان هم :<?php the_time('Y/M/d') ?>و....پس به عبارت دیگه کدها میشه :<html><head><title>Example Box Download</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><style>#main{box-shadow: 0px 0px 10px 5px #888888;border: 1px solid #c2c2c2;text-align: right;width: 400px;float: right;}.b1{background: rgb(234, 234, 234);border-bottom:1px solid #c2c2c2;}.b2{border-bottom:1px solid #c2c2c2;}</style></head><body><div id="main"><div class="b1"><div>کد طرح : <?php the_ID(); ?></div><?php $link = get_post_meta($post->ID,'link',true) ;if ($link !=null) {?><div>کد طرح : <?php echo $link() ;?></div><?php }?></div><div class="b2"><div>دسته بندي : <?php the_category();?></div></div><div class="b1"><div>فرمت فايل : <?php print_r(pathinfo($link,PATHINFO_EXTENSION));?></div><div>تاريخ انتشار : <?php the_time('Y/M/d') ?></div></div><div class="b2"><div><?php$file = $link;$ch = curl_init($file);curl_setopt($ch, CURLOPT_NOBODY, true);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_HEADER, true);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);$data = curl_exec($ch);curl_close($ch);if (preg_match('/Content-Length: (\d+)/', $data, $matches)) {$file_size =$contentLength = (int)$matches[1] .'KB';}echo "حجم فايل :"; .size_format($file_size, 2);?></div></div><div class="b1"><div>تعداد بازديد : <?php if(function_exists('the_views')) { the_views(); }elseecho "<a href='https://wordpress.org/plugins/wp-postviews/install'>Please Install Plugin wp-postviews</a> "?></div></div></div></body></html>شما میتوانید هرجا خواستید جایگزین ها انجام بدید و بهتر کنیدفقط یک نمونه ساده و کاربردی بوده استموفق باشید 4 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .