@H_404_0@ 这几天在进行主题的 调整二次开发,到了归档页面 archives.PHP模板的调整环节,因为归档页面是以时间顺序排列的,所以想到了CSS来布局,构建一个时间轴的样式,但一想文章太多,全部罗列的话页面会很长,于是想到了用加载js,但考虑到会影响速度,最终放弃了,就来一个简单的可伸缩的样式,点击月份可以展开,再点击可以回来。
@H_404_0@1、创建归档函数到 functions.PHP 里
@H_404_0@其实你可以单独新建一个archives.PHP文件,把以下的代码复制进去,然后在 functions.PHP 引入文件@H_4040@/**@H404_0@ 引入归档函数@H_404_0@ /@H_404_0@require get_template_directory() . 'archives.PHP';@H_404_0@或者直接复制以下代码到functions.PHP 里,代码太长,点击这里下载 原代码@H_404_0@2、创建page-archives.PHP页面模板
@H_404_0@页面内容可以简单以下,主要是在这个页面里要调用函数自定义的归档函数zww_archiveslist();@H404_0@<?PHP@H_4040@/**@H4040@ * Template Name:Archives@H4040@ */@H404_0@getheader(); ?>@H404_0@<div><?PHP zww_archiveslist(); ?> </div>@H404_0@<?PHP getfooter(); ?>@H404_0@登陆wordpress后台-页面-新建页面-然后新建页面(如叫:归档),选择模版为 Archives@H_404_0@3、给主题加载 jQuery 库,没有加载的,把下面这句扔到 functions.PHP 里面就行了。
@H_404_0@wordpress引入css/js两种方法@H_404_0@wp_enqueuescript('jquery');@H404_0@4、jQuery 代码:
@H_404_0@如果你的主题引入了 jQuery 库,那么下面这段代码你完全可以放到page-archives.PHP里@H_4040@<script type="text/javascript">@H4040@(function ($,window) {@H4040@$(function() {@H4040@var $a = $('#archives'),@H404_0@$m = $('.almon',$a),@H404_0@$l = $('.al_postlist',@H404_0@$l_f = $('.al_postlist:first',$a);@H4040@$l.hide();@H404_0@$lf.show();@H4040@$m.css('cursor','s-resize').on('click',function(){@H4040@$(this).next().slideToggle(400);@H4040@});@H4040@var animate = function(index,status,s) {@H4040@if (index > $l.length) {@H4040@return;@H4040@}@H4040@if (status == 'up') {@H4040@$l.eq(index).slideUp(s,function() {@H4040@animate(index+1,(s-10<1)?0:s-10);@H4040@});@H4040@} else {@H4040@$l.eq(index).slideDown(s,(s-10<1)?0:s-10);@H4040@});@H4040@}@H4040@};@H404_0@$('#al_expandcollapse').on('click',function(e){@H4040@e.preventDefault();@H4040@if ( $(this).data('s') ) {@H4040@$(this).data('s','');@H4040@animate(0,'up',100);@H4040@} else {@H4040@$(this).data('s',1);@H4040@animate(0,'down',100);@H4040@}@H4040@});@H4040@});@H4040@})(jQuery,window);@H4040@</script>@H404_0@也可以直接打开 header.PHP 并找到 ,在其下面加上@H_404_0@<script type="text/javascript">上面那段 jQuery 代码</script>@H_4040@4、Css参考
@H404_0@这样即使成功的话也非常不好看,剩下的就是根据自己的布局加入CSS了,你要好好的研究zww_archives_list() 里面的Html结构,然后编写自己喜欢的CSS,这里分享一下我的css.@H_4040@/*@H404_0@ ---------------文章归档页面样式--------------------@H_404_0@ /@H_4040@#main-archivest{;margin:20px 0;}@H4040@.m-title{text-align:center;border-bottom:solid 1px #ccc;}@H404_0@.almon{font-weight:bold;}@H4040@#archives ul li {list-style-type:none;}@H4040@#archives ul >li{padding:0 0 8px 5px;border-left:solid 1px #ccc;background-image:url(li.png); padding-left:20px; background-repeat:no-repeat;}@H4040@#archives ul>li>ul{margin:0;padding:0;}@H4040@#archives ul>li>ul>li{list-style-type:none;background-image:url(li.gif); padding-left:20px;background-repeat:no-repeat; border-left:dashed 1px #ccc;}@H404_0@其实你可以完全复制,稍加修改。@H_4040@5、小结
@H404_0@1、 因为查询度有点大,所以有加数据库缓存,只在文章发表/修改时才会更新缓存数据,所以测试时,可以特意去后台点“快速编辑”文章然后点更新就可以更新缓存数据。@H_4040@@H4040@2、 参考原文:http://zww.me/@H4040@
@H404_0@3、 本站效果预览 http://www.511yj.com/archives@H_4040@
@H404_0@4、 遇到问题留言交流。