将文章归档成一页

2014年3月28日 分类: Wordpress, 杂谈 (143 个脚步)

建站以来已经一年多了,发现右边的每月归档好长啊

直接用select 好像又不太好看

以前又一直没时间去弄这东西,好像挺麻烦的样子。

不过今天早下班,又没什么事情干,就把全部的文章都归档到一个页面上面。

完成后发现其实还挺好做的。

开始干活咯,首先得在主题目录下复制一份page.php 然后修改里面的内容。每个人都有不同的主题,我就不复制了。

然后最关键的代码:

<style type="text/css">
   .archive-title{border-bottom:1px #eee solid;position:relative;padding-bottom:4px;margin-bottom:10px}  
   .archives li { list-style-type: none; } 
   .archives li a{padding:8px 0;display:block}
   .archives li a:hover .atitle:after{background:#ff5c43}
   .archives li a span{display: inline-block;width:100px;font-size:12px;text-indent:20px}
   .archives li a .atitle{display: inline-block;padding:0 15px;position:relative}
   .archives li a .atitle:after{position:absolute;left:-6px;background:#ccc;height:8px;width:8px;border-radius:6px;top:8px;content:""}
   .archives li a .atitle:before{position:absolute;left:-8px;background:#fff;height:12px;width:12px;border-radius:6px;top:6px;content:""}
   .archives{position:relative;padding:10px 0}
   .archives:before{height:100%;width:4px;background:#eee;position:absolute;left:100px;content:"";top:0}
   .m-title{position:relative;margin:10px 0;cursor:pointer}    
   .m-title:hover:after{background:#ff5c43}
   .m-title:before{position:absolute;left:93px;background:#fff;height:18px;width:18px;border-radius:6px;top:3px;content:""}
   .m-title:after{position:absolute;left:96px;background:#ccc;height:12px;width:12px;border-radius:6px;top:6px;content:""}
</style>
<script type="text/javascript">
  $('.archives ul.archives-monthlisting').hide();
  $('.archives ul.archives-monthlisting:first').show();
  $('.archives .m-title').click(function() {
      $(this).next().slideToggle('fast');
      return false;
  });
</script>
<div class="archives">
  <?php
  $previous_year = $year = 0;
  $previous_month = $month = 0;
  $ul_open = false;

  $myposts = get_posts('numberposts=-1&orderby=post_date&order=DESC');

  foreach($myposts as $post) :
      setup_postdata($post);

      $year = mysql2date('Y', $post->post_date);
      $month = mysql2date('n', $post->post_date);
      $day = mysql2date('j', $post->post_date);

      if($year != $previous_year || $month != $previous_month) :
          if($ul_open == true) : 
              echo '</ul>';
          endif;

          echo '<h3 class="m-title">'; echo the_time('Y-m'); echo '</h3>';
          echo '<ul class="archives-monthlisting">';
          $ul_open = true;

      endif;

      $previous_year = $year; $previous_month = $month;
  ?>
      <li>
           <a href="<?php the_permalink(); ?>"><span><?php the_time('Y-m-j'); ?></span>
         <div class="atitle"><?php the_title(); ?></div></a>

      </li>
  <?php endforeach; ?>
  </ul>
</div>

还要在文件的最上面加入 ​​

<?php
/*
Template Name: Archier time
*/
?>

Archier time 随便你写什么,然后到后台新建一个页面,写上标题,在模板处选择 Archier time,保存。然后就能看到新归类后的页面了。
具体效果可以看这里

将文章归档成一页 【声明】本文 将文章归档成一页 为柠之漠然原创文章,转载请注明出自 枫之落叶
并保留本文有效链接:https://blog.shiniv.com/2014/03/archive-article-in-one-page/ , 转载请保留本声明!

标签: , , ,
目前还没有任何评论.
你必须要启用 Javascript