Css打造伸缩时间轴样式的WordPress归档页面archive.php

archive

1、在我们的主题更目录下建立archive.php(文章归档页面)
输入以下代码:

  1. <?php
  2. /**
  3.  * The template for displaying archive pages
  4.  * BootstrapWp 0.1
  5.  */
  6. get_header(); ?>
  7. <div class="container">
  8. <div class="archives">
  9. <?php
  10. 			$previous_year = $year = 0;
  11. 			$previous_month = $month = 0;
  12. 			$ul_open = false;
  13. 			$myposts = get_posts('numberposts=-1&orderby=post_date&order=DESC');
  14. 				foreach($myposts as $post) :
  15. 				setup_postdata($post);
  16. 			$year = mysql2date('Y', $post->post_date);
  17. 			$month = mysql2date(‘n’, $post->post_date);
  18. 			$day = mysql2date('j', $post->post_date);
  19. 				if($year != $previous_year || $month != $previous_month) :
  20. 				if($ul_open == true) :
  21. 				echo '</ul>';
  22. 				endif;
  23. 				echo '<h4 class="m-title">'; echo the_time('Y-m'); echo '</h4>';
  24. 				echo '<ul class="archives-monthlisting">';
  25. 				$ul_open = true;
  26. 				endif;
  27. 			$previous_year = $year; $previous_month = $month;
  28. 			?>
  29. 			<li>
  30. 			<a href="<?php the_permalink(); ?>"><span><?php the_time('Y-m-j'); ?></span>
  31. 			<div class="atitle"><?php the_title(); ?></div></a>
  32. 			</li>
  33. 			<?php endforeach; ?>
  34. 			</ul>
  35. 			</div></div>
  36. <?php get_sidebar(); ?>
  37. <?php get_footer(); ?>

由于主题是采用了Bootstrap框架所以加了,

  1. <div class="container">

根据你自己的主题,可以选择适当的布局。
2、打开主题根目录下的style.css文件,加入以下css代码

  1. /*
  2.  * 文章归档页面样式
  3.  */
  4. .archive-title{border-bottom:1px #eee solid;position:relative;padding-bottom:4px;margin-bottom:10px} 
  5. .archives li{list-style-type:none}
  6. .archives li a{padding:8px 0;display:block}
  7. .archives li a:hover .atitle:after{background:#ff5c43}
  8. .archives li a span{display: inline-block;width:100px;font-size:12px;text-indent:20px}
  9. .archives li a .atitle{display: inline-block;padding:0 15px;position:relative}
  10. .archives li a .atitle:after{position:absolute;left:-6px;background:#ccc;height:8px;width:8px;border-radius:6px;top:8px;content:""}
  11. .archives li a .atitle:before{position:absolute;left:-8px;background:#fff;height:12px;width:12px;border-radius:6px;top:6px;content:""}
  12. .archives{position:relative;padding:10px 0}
  13. .archives:before{height:100%;width:4px;background:#eee;position:absolute;left:130px;content:"";top:0}
  14. .m-title{position:relative;margin:10px 0;cursor:pointer} 
  15. .m-title:hover:after{background:#ff5c43}
  16. .m-title:before{position:absolute;left:127px; background:#fff; height:18px;width:18px;border-radius:6px;top:3px;content:""}
  17. .m-title:after{position:absolute;left:127px;background:#ccc;height:12px;width:12px;border-radius:6px;top:6px;content:""}

如果你引入以上CSS显示效果错乱的话,那么你就得调整上面的css布局了。
3、点击年月实现伸缩功能的话需要引入以下js

  1. $('.archives ul.archives-monthlisting').hide();
  2. $('.archives ul.archives-monthlisting:first').show();
  3. $('.archives .m-title').click(function() {
  4.     $(this).next().slideToggle('fast');
  5.     return false;
  6. });

如何你对Wordpress引入js有困惑的话,建议你阅读 WordPress引入css/js两种方法,如果你不想使用 伸缩功能的话,也可以采用分页的技术处理你的归档页面。


发布日期:

所属分类: Css/Html5, Wordpress 综合 标签: