open-graph-wordpress

در قسمت آموزش وردپرس ، یک فهرست بایگانی(Archive) گفتیم که چگونه یک صفحه بایگانی بسازید  و با تابع wp get archives پست ها را بر اساس ماه نمایش دهید. حال می خواهیم نحوه نمایش اطلاعات به روش های مختلف را نیز آموزش دهیم.البته این تابع را می توان هر جا که بخواهیم مورد استفاده قرار داد و نیازی به قالب الگو مانند بایگانی(archive) نمی باشد.

ساختار

 <?php wp_get_archives( $args ); ?> 

ساختار پیش فرض

<?php $args = array(
	'type'            => 'monthly',
	'limit'           => '',
	'format'          => 'html', 
	'before'          => '',
	'after'           => '',
	'show_post_count' => false,
	'echo'            => 1,
	'order'           => 'DESC',
        'post_type'     => 'post'
);
wp_get_archives( $args ); ?>

به طور پیشرض به صورت ماهانه می باشد و محدودیتی ندارد اما ما می توانیم آن ها را تغییر دهیم

پیش فرض آن به صورت زیر می باشد

  • نمایش لینک ها به صورت ماهانه
  • نمایش همه بایگانی ها بدون محدودیت تعداد 
  • نمایش بایگانی ها در داخل یک تگ  html  به نام <li> و از آخر به اول(بر اساس شناسه ها ID)
  • چیزی قبل و یا بعد از لینک نمی آورد.مانند . و یا ، و یا هر چیز دیگر
  • تعداد پست ها را نمایش نمی دهد

پارامترها

type (نوع)
یک رشته نوع نمایش پست را می دهد  که شامل پیش فرض های وردپرس می باشند که از بین لیست زیر باید یکی انتخاب شود

 

 

  • monthly – Default (ماهانه و به صورت پیش فرض)
  • daily (روزانه)
  • weekly (هفتگی)
  •   (بر اساس تاریخ پست)postbypost (posts ordered by post date)
  • بر اساس عنوان پست alpha (same as postbypost but posts are ordered by post title)

yearly (سالانه)

limit (محدودیت)
یک نوع عددی که محدودیت نمایش تعداد پست ها را در بایگانی می دهد.
 
format 
فرمت نمایش لینک ها
  • تگ<li> به صورت پیش فرض 
  • یک فهرست <select> با استفاده از <option> ها 
  • تگ <link>
  • custom  یک تگ سفارشی 
before 
 
تگی که قبل و قبل از فرمت های <link> و custom  می آید
after 
تگی که قبل و بعد از فرمت های <link> و custom  می آید
show_post_count 
نمایش تعداد پست ها.اگر صحیح باشد تعداد پست ها را نمایش می دهد
  • ۱ (True)
  • ۰ (False) – Default
echo 
چاپ و یا عدم چاپ.اگر صحیح باشد  لیست را چاپ کرده در غیر این صورت لیست را فقط به عنوان یک متغیر قرار می دهد
  • ۱ (True) – Default
  • ۰ (False)
order 
(string) How to order the link list (since Version 3.5)

نمایش پست ها بر اساس مرتب سازی آن .از نسخه ۳.۵ اضافه شده.

 

  • ASC به صورت الفبایی (A-Z)
  • DESC به صورت الفبایی بر عکس (Z-A) و پیشفرض
post_type 
محدودیت نوع پستی مانند پست ، برگه و یا …از نسخه ۴.۴ اضافه شده.
 
 

مثال:

<?php 
$my_archives=wp_get_archives(array(
	'type'=>'alpha', 
	'show_post_count'=>true, 
	'limit'=>20, 
	'post_type'=>'post', 
	'format'=>'html' 
));
	
print_r($my_archives); 

?>

مثال: نمایش ۱۲ مطلب ماه

<?php wp_get_archives( array( 'type' => 'monthly', 'limit' => 12 ) ); ?>

مثال:نمایش ۱۶ مطلب  روز

<?php wp_get_archives( array( 'type' => 'daily', 'limit' => 16) ); ?>

مثال:نمایش ۲۰ پست بر اساس آخرین شناسه ها و هر نوع فرمتی مانند پست ، صفحه و …

<?php wp_get_archives( array( 'type' => 'postbypost', 'limit' => 20, 'format' => 'custom' ) ); ?>

 


مثال: نمایش یک لیست بازشو به صورت بایگانی ماهانه برای اتخاب به همراه تعداد پست ها در همان ماه

<select name="archive-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;">
  <option value=""><?php echo esc_attr( __( 'Select Month' ) ); ?></option> 
  <?php wp_get_archives( array( 'type' => 'monthly', 'format' => 'option', 'show_post_count' => 1 ) ); ?>
</select>

مثال: نمایش تمام بایگانی به صورت الفبایی

<?php wp_get_archives('type=alpha'); ?>

 

تاریخ آخرین بروزرسانی : ۲۲ تیر ۱۳۹۵
میلاد میلادی

باور هایت را که پرورش دهی به هرچیزی دست خواهی یافت.

2نظر برای

آموزش وردپرس ، کار با تابع wp get archives


  1. مهدی

    سلام.ضمن تشکر از مطلب قرار داده شده ، سوال دارم اینکه میخواهم در قالبم ( چون تعداد ماه ها در بایگانی زیاد است و قالب زیاد ارتفاع پیدا می کند ) ابزارک مربوط به بایگانی تاریخ خورشیدی محتوا بصورت دو ستونه نمایش داده شود تا از تمام عرض ابزارک استفاده بشود.افزونه ای هم برای این کار در مخزن وردپرس پیدا کردم که متاسفانه تاریخ میلادی را نمایش میدهد:
    https://wordpress.org/plugins/lj-multi-column-archive/
    برای درج تاریخ شمسی به این صورت چه کاری باید انجام داد و اینکه اگر بصورت شرت کد هم می شود این کار را انجام داد خواهشمند راهنمایی فرمایید.

ارسال نظر

آدرس الکترونیکی شما نمایش داده نمی شود *

Time limit is exhausted. Please reload CAPTCHA.