今天上午的时候给小站又添加了一个小功能,一篇随机文章的展示,有兴趣的朋友,可以根据这篇文章来试试。
添加完这功能,把详细的教程整理了一下,又发现别的博主的网站都带着全部文章的存档页面,我也就想着办法也要做一个存档页面。
存档页面可以做什么?
- 存档页面可以当时网站地图使用。
- 存档页面方便用户查找某篇文章。
- 存档页面可以提高网站浏览量。
- 存档页面可以更好的SEO。
- 存档页面可以……
总之存档页面好处多多。在经过一番努力之下,终于找到了一篇好教程。虽然发布时间又点老,但是亲测通用。
大家可以访问一下本站的存档页面。
WordPress添加文章存档详细教程
1。在主题的 functions.php页面中添加一下代码:
function zfl_archives_list() {
if( !$output = get_option('zfl_db_cache_archives_list') ){
$output = '<div class="archives"><p>一天科技文章存档页面,大家可以利用Ctrl + F 查找关键词寻找文章</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 class="archives_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>'. $key_y .' 年</h3><ul>'; //输出年份
foreach ($y as $key_m => $m) {
$posts = ''; $i = 0;
foreach ($m as $p) {
++$i;
$posts .= $p;
}
$output .= '<li class="archives_yue">'. $key_m .' 月 <em> ( '. $i .' 篇文章 )</em><ul>'; //输出月份
$output .= $posts; //输出 posts
$output .= '</ul></li>';
}
$output .= '</ul>';
}
$output .= '</div>';
update_option('zfl_db_cache_archives_list', $output);
}
echo $output;
}
function clear_db_cache_archives_list() {
update_option('zfl_db_cache_archives_list', ''); // 清空 zww_archives_list
}
add_action('save_post', 'clear_db_cache_archives_list'); // 新发表文章/修改文章时
添加完成之后,复制主题的page.php页面。重新命名为:archives.php,
然后archives.php页面,在页面顶部添加代码
<?php
/*
Template Name: Archives
*/
?>
添加完成然后在
<?php get_template_part( 'content', 'page' ); ?>
代码下面添加调用代码:
<?php zfl_archives_list(); ?>
保存上传到主题目录下。
然后在WordPress后台新建页面
命名为:文章存档 模板选择 archives.php,内容不用写。自己写好页面的固定地址保存即可访问。
大家可以通过自己编写主题样式来定义文章存档页面显示。
我是根据 zwwooooo 作者分享的存档页面自己修改的。原来作者写的不太合适本站主题。所以自己做了一部分修改。
有代码基础的朋友或者爱折腾的,可以按照原文来试试。
zwwooooo 原文地址: https://zww.me/wordpress-archive-page-template-wp-primary-function-2014-edition.z-turn
此代码加入了数据缓存,不会每次访问都更新存档页面。只有在新增文章、修改文章或者删除文章时,才会更新。
如果你在修改的过程中,刷新页面没变化,请随便更改一篇文章重新发布即可刷新存档页面。