分享各种网络资源
是我乃至整个互联网的精髓所在
 您目前所在位置: 站点首页 » WordPress » 代码 » WordPress归档页面更加明确
+ 7

WordPress归档页面更加明确

  • functions.php中的代码
  • 调用代码
  • JS代码
  • WordPress归档页面更加明确-BanYuner

    对于张戈博客的归档页面一直是很喜欢,喜欢这些自定义比较强的页面,所以我就直接从知更鸟的主题中寻找后相关代码,但是寻找的过程中还是出现了一些小插曲,比如修改了页面代码之后,并没有发生变化,后来我了解到是因为页面缓存的问题。

    接着我看到了知更鸟博客中的代码提到了zww.me,那么我就直接去这个博客中寻找了,最终还是寻找到了相关代码并且成功实现相关功能。这里我就简单的将功能的实现方法以及相关代码附上来:

    代码分为三个部分,一个是需要添加到functions.php中去的,还有一个需要添加到你的归档页面中去的。以及一个JS代码下面是第一部分代码:

    functions.php中的代码

    /* Archives list v2014 by zwwooooo | http://zww.me */
    function zww_archives_list() {
    if( !$output = get_option('zww_db_cache_archives_list') ){
    $output = '<div id="archives"><p><a id="al_expand_collapse" href="#">全部展开/收缩</a> <em>(注: 点击月份可以展开)</em></p>';
    $args = array(
    'post_type' => 'post', //如果你有多个 post type,可以这样 array('post', 'product', 'news')  
    'posts_per_page' => -1, //全部 posts
    'ignore_sticky_posts' => 1 //忽略 sticky posts
    );
    $the_query = new WP_Query( $args );
    $posts_rebuild = array();
    $year = $mon = 0;
    while ( $the_query->have_posts() ) : $the_query->the_post();
    $post_year = get_the_time('Y');
    $post_mon = get_the_time('m');
    $post_day = get_the_time('d');
    if ($year != $post_year) $year = $post_year;
    if ($mon != $post_mon) $mon = $post_mon;
    $posts_rebuild[$year][$mon][] = '<li>'. get_the_time('d日: ') .'<a href="'. get_permalink() .'">'. get_the_title() .'</a> <em>('. get_comments_number('0', '1', '%') .')</em></li>';
    endwhile;
    wp_reset_postdata();
    foreach ($posts_rebuild as $key_y => $y) {
    $output .= '<h3 class="al_year">'. $key_y .' 年</h3><ul class="al_mon_list">'; //输出年份
    foreach ($y as $key_m => $m) {
    $posts = ''; $i = 0;
    foreach ($m as $p) {
    ++$i;
    $posts .= $p;
    }
    $output .= '<li><span class="al_mon">'. $key_m .' 月 <em> ( '. $i .' 篇文章 )</em></span><ul class="al_post_list">'; //输出月份
    $output .= $posts; //输出 posts
    $output .= '</ul></li>';
    }
    $output .= '</ul>';
    }
    $output .= '</div>';
    update_option('zww_db_cache_archives_list', $output);
    }
    echo $output;
    }
    function clear_db_cache_archives_list() {
    update_option('zww_db_cache_archives_list', ''); // 清空 zww_archives_list
    }
    add_action('save_post', 'clear_db_cache_archives_list'); // 新发表文章/修改文章时
    

    清除缓存的方法就是直接通过后台重新编辑这个页面即可,点一下快速编辑,之后点击更新就可以清除缓存了。

    调用代码

    <?php zww_archives_list(); ?>
    

    上面的代码添加到

    <?php content(); ?>

    之后即可

    JS代码

    <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>
    

    这段JS代码我是直接添加到归档页面中,大家可以看情况添加。

    关注我们 打赏 分享此文

    微信扫码,关注我们

    扫码,支持我

    WordPress归档页面更加明确

    支付宝(点击图片切换)

    扫码,支持我

    WordPress归档页面更加明确

    微信(点击图片切换)

    扫码,手机看

    WordPress归档页面更加明确
    匿名

    个人评价:┃草根博主┃站点无技术含量┃文章内容不够吸引人┃转载内容随处可见┃资源均来自网络┃ 分享是我的宗旨,也是这个站点存在意义,分享的东西你现在可能不需要,但是我相信只要在某个时间你需要的时候能在这里找到,那么我就是成功的

    相关推荐

    • WordPress基础教程-文章内容中如何添加音频文件

      WordPress基础教程-文章内容中如何添加音频文件

      目前基础教程已经基本完毕了,每篇文章都是用自己的语言写出来的,有兴趣查看其他教程的用户可以前往这里查看所有相关教程:教程合集 添加音频文件还...

      点击查看
    • WordPress评论上方显示评论用户列表

      WordPress评论上方显示评论用户列表

      一段时间之前,我在我的博客里面添加了下面的功能,这个功能我一开始觉得貌似没有人会喜欢或者说会显得比较多余,但是今天一个朋友问我如何实现这个功...

      点击查看
    • WordPress自动截取文章首段限定字数做为摘要

      WordPress自动截取文章首段限定字数做为摘要

      今天一个朋友问我这个问题,说实话,我也不像百度了,所以直接把 DUX 的方法介绍给大家了,我个人还是比较看好这个方法的。 DUX 实现这个功...

      点击查看
    WordPress归档页面更加明确
    3 + 7 =
    1. 2楼
      云泽
      老哥,请问,你博客中的上一篇下一篇文章,是怎么实现的呀!
      云泽 这家伙可能用了美佬的代理 Safari浏览器 iPhone iPhone OS 10_3 like Mac OS X) AppleWebKit 美国 2个月前 (03-19)回复
      • 帅气小琦琦
        @云泽 这个其实就是常规的上一篇下一篇,只不过添加了部分CSS效果而已,你可以右键查看属性就知道了
        帅气小琦琦   来自天朝的朋友 谷歌浏览器 Windows 10 湖北省武汉市 联通 2个月前 (03-19)回复
    2. 1楼
      楚书业
      归档页文章列表折叠的?
      楚书业 来自天朝的朋友 QQ浏览器 Windows 10 福建省 移动 1年前 (2016-04-01)回复
      • 帅气小琦琦
        @楚书业 是的哦 你可以去看看 我觉得折叠看起来更加方便点 :idea:
        帅气小琦琦   来自天朝的朋友 谷歌浏览器 Windows 7 湖北省武汉市 电信 1年前 (2016-04-01)回复