رفتن به مطلب

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


3001

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

سلام چه طوری میشه بایگانی سالانه و ماهانه رو با هم نمایش داد اونم اینطوری :

* سال 1391

* اردیبهشت 1391

* فروردین 1391

*سال 1390

* اسفند 1390

* بهمن 1390

* دی 1390

*مهر 1390

* خرداد 1390

و ...

ممنون

لینک به ارسال

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

با کد خاصی نمیشه این کارو کرد

لینک به ارسال

تایع wp get archives دقیقا چیزی که مد نظر شما است نمی باشد ولی شاید با کمی تغییر کمکتان کند...#


<?php wp_get_archives(); ?>

ویرایش شده توسط oMid
  • امتیاز 2
لینک به ارسال

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

  • امتیاز 2
لینک به ارسال

سلام

جوابتون به صورت میلادی پیدا کردم :


<ul>
<?php
/**/
$years = $wpdb->get_col("SELECT DISTINCT YEAR(post_date) FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY post_date DESC");
foreach($years as $year) :
?>
<li><a href="<?php echo get_year_link($year); ?> "><?php echo $year; ?></a>
<ul>
<? $months = $wpdb->get_col("SELECT DISTINCT MONTH(post_date) FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' AND YEAR(post_date) = '".$year."' ORDER BY post_date DESC");
foreach($months as $month) :
?>
<li><a href="<?php echo get_month_link($year, $month); ?>"><?php echo date( 'F', mktime(0, 0, 0, $month) );?></a>
<ul>
<? $days = $wpdb->get_col("SELECT DISTINCT DAY(post_date) FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' AND MONTH(post_date) = '".$month."' AND YEAR(post_date) = '".$year."' ORDER BY post_date DESC");
foreach($days as $day) :
?>
<li><a href="<?php echo get_day_link($year, $month, $day); ?>"><?php echo $day;?></a></li>
<?php endforeach;?>
</ul>
</li>
<?php endforeach;?>
</ul>
</li>
<?php endforeach; ?>
</ul>

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

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

  • امتیاز 2
لینک به ارسال
  • 4 سال بعد...

دوستان راحلی برای این موضوع هست ؟ 

========

سلام چه طوری میشه بایگانی سالانه و ماهانه رو با هم نمایش داد اونم اینطوری :

* سال 1391

* اردیبهشت 1391

* فروردین 1391

*سال 1390

* اسفند 1390

* بهمن 1390

* دی 1390

*مهر 1390

* خرداد 1390

لینک به ارسال

سلام

کد زیر کاری که شما میخواید رو انجام میده ، فقط باید به صورت دلخواه که میخواید تغییرش بدید .

<ul class="years">
<?php
$all_posts = get_posts(array(
  'posts_per_page' => -1 // to show all posts
));

// this variable will contain all the posts in a associative array
// with three levels, for every year, month and posts.

$ordered_posts = array();

foreach ($all_posts as $single) {

  $year  = mysql2date('Y', $single->post_date);
  $month = mysql2date('F', $single->post_date);

  // specifies the position of the current post
  $ordered_posts[$year][$month][] = $single;

}

// iterates the years
foreach ($ordered_posts as $year => $months) { ?>
  <li>

    <h3><?php echo $year ?></h3>

    <ul class="months">
    <?php foreach ($months as $month => $posts ) { // iterates the moths ?>
      <li>
        <h3><?php printf("%s (%d)", $month, count($months[$month])) ?></h3>

        <ul class="posts">
          <?php foreach ($posts as $single ) { // iterates the posts ?>

            <li>
              <?php echo mysql2date('j', $single->post_date) ?> <a href="<?php echo get_permalink($single->ID); ?>"><?php echo get_the_title($single->ID); ?></a>  (<?php echo $single->comment_count ?>)</li>
            </li>

          <?php } // ends foreach $posts ?>
        </ul> <!-- ul.posts -->

      </li>
    <?php } // ends foreach for $months ?>
    </ul> <!-- ul.months -->

  </li> <?php
} // ends foreach for $ordered_posts
?>
</ul><!-- ul.years -->

 

لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

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



ورود به حساب کاربری
×
×
  • اضافه کردن...