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

时间:2020-9-6 作者:admin

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

archives

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

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

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

/**
 * 引入归档函数
 */
require get_template_directory() . 'archives.php';

或者直接复制以下代码到functions.php 里,代码太长,点击这里下载 原代码

2、创建page-archives.php页面模板

页面内容可以简单以下,主要是在这个页面里要调用函数自定义的归档函数zww_archives_list();

<?php
/**
 * Template Name:Archives
 */
get_header(); ?>
  <div><?php zww_archives_list(); ?> </div>
<?php get_footer(); ?>

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

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

WordPress引入css/js两种方法

wp_enqueue_script('jquery');

4、jQuery 代码:

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

<script type="text/javascript">
(function ($, window) {
	$(function() {
		var $a = $('#archives'),
			$m = $('.al_mon', $a),
			$l = $('.al_post_list', $a),
			$l_f = $('.al_post_list:first', $a);
		$l.hide();
		$l_f.show();
		$m.css('cursor', 's-resize').on('click', function(){
			$(this).next().slideToggle(400);
		});
		var animate = function(index, status, s) {
			if (index > $l.length) {
				return;
			}
			if (status == 'up') {
				$l.eq(index).slideUp(s, function() {
					animate(index+1, status, (s-10<1)?0:s-10);
				});
			} else {
				$l.eq(index).slideDown(s, function() {
					animate(index+1, status, (s-10<1)?0:s-10);
				});
			}
		};
		$('#al_expand_collapse').on('click', function(e){
			e.preventDefault();
			if ( $(this).data('s') ) {
				$(this).data('s', '');
				animate(0, 'up', 100);
			} else {
				$(this).data('s', 1);
				animate(0, 'down', 100);
			}
		});
	});
})(jQuery, window);
</script>

也可以直接打开 header.php 并找到 ,在其下面加上

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

4、Css参考

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

/*
 * ---------------文章归档页面样式--------------------
 */
#main-archivest{;margin:20px 0;}
.m-title{text-align:center;border-bottom:solid 1px #ccc;}
.al_mon{font-weight:bold;}
#archives ul li {list-style-type:none;}
#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;}
#archives ul>li>ul{margin:0;padding:0;}
#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;}

其实你可以完全复制,稍加修改。

5、小结

1、 因为查询度有点大,所以有加数据库缓存,只在文章发表/修改时才会更新缓存数据,所以测试时,可以特意去后台点“快速编辑”文章然后点更新就可以更新缓存数据。
2、 参考原文:http://zww.me/
3、 本站效果预览 http://www.511yj.com/archives
4、 遇到问题留言交流。

您可能感兴趣的文章:


▪ 开启Gzip压缩加快你的wordpress网站加载浏览速度

▪ wordpress301永久重定向实现方法

▪ WordPress 性能优化:使用 nginx 服务器

▪ Super Static Cache高级纯静态插件Wordpress提速优化神器

▪ wp-super-cache启用时出现WP_CACHE constant added to wp-config.php的解决方法

▪ wordpress定时发送失败的原因及四种解决办法

▪ WordPress使用Redis缓存加速|511遇见强烈推荐

▪ wordpress必须禁用REST API和移除WP-JSON链接的方法

▪ 移除WordPress加载的JS和CSS链接中的版本号

▪ 拯救xmlrpc.php让WordPress瘫痪的的六种办法 

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。