归档模板是构建WordPress主题时的超级有用的模板。
我们不仅仅可以通过对日期进行归档,还可以按照类别归档。
打开模板层次结构图:
可以看到,对于所有归档页面,archive.php 用作其他所有特定归档模板的备胎。
对于特定的归档类型,有对应的特定的模板,可以看到有基于
- 作者( Author Archive )
- 类别( Category Archive )
- 自定义文章类型( Custom Post Type Archive )
- 自定义分类( Custom Taxonomy Archive )
- 日期( Date Archive )
- 标签( Tag Archive )
等归档类型。
它们都对应一个核心的模板文件:
- author.php
- category.php
- archive-$posttype.php
- taxnomy.php
- date.php
- tag.php
对于其中一些模板,还有更具体的模板,比如,基于slug或ID。
日期归档模板date.php
来到网站前台,打开Blog页面,在右侧,可以看到有一个按日期归档的小工具。点击它,实际调用的就是date.php模板。
我们可以看到它是基于日期的URL:http://localhost/localwp.com/2017/08/(根据你的文章创建时间,目录会有所不同,我是17年8月份创建的)。
而且,如果删除网址中的月份,只剩年份,也就是:http://localhost/localwp.com/2017/
这时,就会把一年内的所有的文章都按照月份列出来:
所以,在模板结构图中,可以看到 date.php 将控制年,月和日的归档:
接下来,打开主题中的date.php文件:
<?php get_header(); ?>
<div class="container" role="main">
<div class="row">
<div class="col-md-8">
<div class="page-header">
<h1><?php wp_title( '' ); ?></h1>/***输出标题***/
</div>
<ul>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>/***循环***/
<?php if( is_year() ): ?>/***如果是按照年份归档***/
<h3><?php the_date( 'F' ); ?></h3>/***输出月份信息***/
<?php endif; ?>
<li><?php the_time( 'jS' ); ?> - <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; endif; ?>
类别归档模板category.php
通用的类别归档模板叫做 category.php 。
和定制页面模板page.php的原理一样:
它也可以根据给定类别的 ID 或 名称(slug) 来定制更具体的模板:
1.通过id来定制类别归档模板
主题中的 catalog-8.php 是根据类别的ID定制的模板:
要想查看模板对应的网站前台显示效果,可以访问:Travel分类目录:
2.通过名称(slug)定制类别归档模板
同样的,还可以通过类别的名称来定制模板。实际上,我已经在代码中,写好了一个叫做Catalog-Special的模板。
可以访问:Special分类目录,你会看到一匹彩虹马:
所以,catalog-special.php 也是一个完全自定义的模板。
在catalog-special.php模板代码中,可以看到。它只是放置一些自定义HTML,然后是一张有趣的图片:
<style type="text/css">
div {
width: 400px;
margin: 100px auto;
}
img {
width: 100%;
}
h1 {
text-align: center;
}
</style>
<div>
<h1>You're Special!!!!</h1>
<img src="<?php bloginfo('template_directory'); ?>/images/rainbow-unicorn.jpg">
</div>
这可能不是你想要实现的效果,但是通过我在这里自定义的天马行空的类别模板,就可以想象,你也可以自定义你要的哪个特定效果的模板。
同样地,可以通过作者的id以及作者的名称来实现作者模板的定制:
例如,在网站前台,找到一篇文章,点击作者。它就会带我到作者详细介绍的页面,这里有作者头像,名字和最近发布的文章。它使用的就是 author.php 模板。
关于作者归档模板定制的原理和定制页面模板page.php类似。
在当前的主题中,我通过添加 author-editor.php 模板文件,来实现作者归档模板(author-$nacename.php)的定制。
你可以添加一个叫做editor的用户(WordPress后台 >> 用户 >> 所有用户,并添加另一个用户)
然后,新建一篇文章,将作者设为editor。就可以看到定制的作者归档模板 author-editor.php 的效果了:
所以这可以给大家在不同的作者页面上:提供很大的灵活性。而且,如果您想为每个作者定制模板,那么就可以使用此方法轻松实现。
所以,到目前为止,我们已经定制了很多归档模板。你会发现他们的工作原理非常类似,关于标签归档模板 tag.php 也是一样,所以我们不会更深入地讲解。
转载请注明:虚坏叔叔 » WordPress模板层次15:归档模板
♦ 最新资讯 ♦虚幻账号,高速稳定不限流量!立刻购买