Black_Sky

آموزشی
ساخت باکس دانلود _مقدماتی

1 پست در این موضوع قرار دارد

با سلام خدمت دوستان عزیز

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

در برخی از سایت های دانلود دیدید که کادری برای دانلود وجود دارد درونشون که حاوی اطلاعاتی همچون :

1-لینک دانلود

2-آیدی موضوع

3-دسته بندی

4-پسوند فایل

5-حجم فایل

6-تاریخ انتشار

7-تعداد بازدید پست

8- QR

9-شبکه های اجتماعی

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>

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

من فقط با سرعت مثال زدم

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

زیبایی هم با خودتان و توضیح کامل تر هم قرار داده خواهد شد

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

اما میخواهیم پیشرفته تر کنیم

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

xa87jmwsgzcm00s1xglf.png

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(); }
else
echo "<a href='https://wordpress.org/plugins/wp-postviews/install'>Please Install Plugin wp-postviews</a> "?></div>

</div>

</div>

</body>
</html>

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

فقط یک نمونه ساده و کاربردی بوده است

موفق باشید

4

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط madish
      سلام وقت بخیر یه سوال داشتم اگر بتونین کمک کنید ممنون میشم
      ببینید من یه لیست باز شو شرطی میخام که بدون دکمه تایید یا ارسال باشه بع این صورت که کاربر وقتی لیست رو باز کرد روی هر گزینه کلیک کرد یه لینک براش باز شه
      ساده تر میتونم بگم
      لیست شرطی که بلافاصله از انتخاب (بدون دکمه تایید یا ارسال) یه لینک جدید باز شه
      مث صفحه اصلی سایت اچاره با یه تفاوت های ریز
      اینو چطور میتونم با وردپرس پیاده کنم ؟
      افزونه یا چیزی هست ؟
      ممنون میشم راهنمایی کنین
    • توسط mory_fun
      سلام دوستان
      یک دامین جدید برای سایتم ادد کردم و بقیه رو به این شکل ریدایرکت کردم درسته ؟
      RewriteEngine on RewriteCond %{HTTP_HOST} ^www.old.ir [NC,OR] RewriteCond %{HTTP_HOST} ^old.ir [NC] RewriteCond %{HTTP_HOST} ^www.new.xyz [NC] RewriteRule ^(.*)$ http://new.xyz/$1 [L,R=301,NC]  
    • توسط naderi
      سلام .. برای توسعه یک وب سایت با قالب Eduma وردپرس میخوایم یه سری قابلیت ها رو بهش اضافه کنیم .. از دوستان کسی هست که بتونه به ما کمک کنه؟
    • توسط s.m.a1383
      سلام می خواستم ببینم به جای اینکه محصولات رو توی صفحه اول سایت بگذارم میشه دسته های محصولات رو توی صفحه اول سایت گذاشت؟
      آدرس سایت من:innolabs.ir
      در ضمن از پوسته "هستیا "استفاده میکنم افزونه یا کدی هست که بتونه به جای نمایش محصولات در صفحه اول دسته های محصولات رو نمایش بده در ضمن هر کد یا افزونه ای که گفتید طریقه انجامش رو هم بگید لطفا.
      خیلی ممنون از لطفتون
    • توسط resanehwp
      دوستانی که می خوان قلاب های ووکامرس و ترتیب اجرای اونها رو یاد بگیرن
      در لینک زیر صفحه آرشیو محصولات رو می تونید بررسی کنید
      http://bit.ly/rhwp1006