wordpress点击伸缩归档(archives)页面

前端之家收集整理的这篇文章主要介绍了wordpress点击伸缩归档(archives)页面前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_404_0@ 这几天在进行主题 调整二次开发,到了归档页面 archives.PHP模板的调整环节,因为归档页面是以时间顺序排列的,所以想到了CSS来布局,构建一个时间轴的样式,但一想文章太多,全部罗列的话页面会很长,于是想到了用加载js,但考虑到会影响速度,最终放弃了,就来一个简单的可伸缩的样式,点击月份可以展开,再点击可以回来。

@H_404_0@

@H_404_0@其实以前曾经学习过一个样式 Css打造伸缩时间轴样式的wordpress归档页面archive.PHP

@H_404_0@

1、创建归档函数到 functions.PHP

@H_404_0@其实你可以单独新建一个archives.PHP文件,把以下的代码复制进去,然后在 functions.PHP 引入文件

@H_4040@/**

@H
404_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();

@H
404_0@<?PHP

@H_4040@/**

@H
4040@ * Template Name:Archives

@H
4040@ */

@H
404_0@getheader(); ?>

@H
404_0@<div><?PHP zww_archiveslist(); ?> </div>

@H
404_0@<?PHP getfooter(); ?>

@H
404_0@登陆wordpress后台-页面-新建页面-然后新建页面(如叫:归档),选择模版为 Archives

@H_404_0@

3、给主题加载 jQuery 库,没有加载的,把下面这句扔到 functions.PHP 里面就行了。

@H_404_0@wordpress引入css/js两种方法

@H_404_0@wp_enqueuescript('jquery');

@H
404_0@

4、jQuery 代码

@H_404_0@如果你的主题引入了 jQuery 库,那么下面这段代码你完全可以放到page-archives.PHP

@H_4040@<script type="text/javascript">

@H
4040@(function ($,window) {

@H
4040@$(function() {

@H
4040@var $a = $('#archives'),

@H
404_0@$m = $('.almon',$a),

@H
404_0@$l = $('.al_postlist',

@H
404_0@$l_f = $('.al_postlist:first',$a);

@H
4040@$l.hide();

@H
404_0@$lf.show();

@H
4040@$m.css('cursor','s-resize').on('click',function(){

@H
4040@$(this).next().slideToggle(400);

@H
4040@});

@H
4040@var animate = function(index,status,s) {

@H
4040@if (index > $l.length) {

@H
4040@return;

@H
4040@}

@H
4040@if (status == 'up') {

@H
4040@$l.eq(index).slideUp(s,function() {

@H
4040@animate(index+1,(s-10<1)?0:s-10);

@H
4040@});

@H
4040@} else {

@H
4040@$l.eq(index).slideDown(s,(s-10<1)?0:s-10);

@H
4040@});

@H
4040@}

@H
4040@};

@H
404_0@$('#al_expandcollapse').on('click',function(e){

@H
4040@e.preventDefault();

@H
4040@if ( $(this).data('s') ) {

@H
4040@$(this).data('s','');

@H
4040@animate(0,'up',100);

@H
4040@} else {

@H
4040@$(this).data('s',1);

@H
4040@animate(0,'down',100);

@H
4040@}

@H
4040@});

@H
4040@});

@H
4040@})(jQuery,window);

@H
4040@</script>

@H
404_0@也可以直接打开 header.PHP 并找到 ,在其下面加上

@H_404_0@<script type="text/javascript">上面那段 jQuery 代码</script>

@H_4040@

4、Css参考

@H
404_0@这样即使成功的话也非常不好看,剩下的就是根据自己的布局加入CSS了,你要好好的研究zww_archives_list() 里面的Html结构,然后编写自己喜欢的CSS,这里分享一下我的css.

@H_4040@/*

@H
404_0@  ---------------文章归档页面样式--------------------

@H_404_0@ 
/

@H_4040@#main-archivest{;margin:20px 0;}

@H
4040@.m-title{text-align:center;border-bottom:solid 1px #ccc;}

@H
404_0@.almon{font-weight:bold;}

@H
4040@#archives ul li {list-style-type:none;}

@H
4040@#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;}

@H
4040@#archives ul>li>ul{margin:0;padding:0;}

@H
4040@#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;}

@H
404_0@其实你可以完全复制,稍加修改

@H_4040@

5、小结

@H
404_0@1、 因为查询度有点大,所以有加数据库缓存,只在文章发表/修改时才会更新缓存数据,所以测试时,可以特意去后台点“快速编辑”文章然后点更新就可以更新缓存数据。

@H_4040@

@H
4040@2、 参考原文:http://zww.me/

@H
4040@

@H
404_0@3、 本站效果预览 http://www.511yj.com/archives

@H_4040@

@H
404_0@4、 遇到问题留言交流。

猜你在找的wordpress相关文章