一旦你的网站开始增长,你继续写博客文章,你最终会以存档页面结束。这些归档页面可以基于分类、类别、自定义文章类型甚至日期。WordPress内置了对这些归档页面的支持,但是有一些小缺点。在这篇文章中,我将向你解释如何更好地使用这些归档页面,并确保它们为你的博客增加价值。
默认归档页面
WordPress支持自动创建归档页面。这确保了你不必考虑手工制作它们。遗憾的是,这些页面往往只包含一个基于类别/分类/文章类型的文章列表,而没有任何进一步的介绍。这意味着你的访问者在一个页面上被困住了,而对他们正在看的内容没有太多的解释。在这种情况下,你的访问者找到他们想要的东西的几率非常小,通常访问者会决定立即离开该页面。
解决这个问题的一个简单方法是:在页面中添加一些“介绍”。一个清晰的标题已经可以极大地帮助你的访问者,但对于特别重要的页面,我们建议添加一个描述,以便更好地突出可以在存档页面上找到的内容。
在热切地写这些介绍之前,让我们确保它们正确地显示在页面上。
添加的介绍
类别,标签和自定义分类档案
如果希望向类别、标记或自定义分类法存档添加介绍,可以轻松创建自定义模板文件以覆盖默认模板文件。例如,您可以在主题中创建一个category.php文件来覆盖默认的模板文件。如果你想了解更多关于模板层次结构如何在WordPress中工作的信息,在继续之前看一下这张图表。
在你新创建的category.php模板文件中,在WordPress循环上面添加以下代码片段:
1
如果(!is_paged ()) {
2
echo wpautop(term_description());
3.
}
如果你想支持短代码,试试这个代替:
1
如果(!is_paged ()) {
2
echo wpautop(apply_filters(‘the_content’, term_description()));
3.
}
上面的代码获取了你在WordPress后台为类别添加的标题和描述,并将其显示在类别存档页面上。此方法也适用于标记和自定义分类法存档。
如果你使用创世纪主题,你就不需要做以上任何改变。幸运的是,Genesis已经内置了对这类东西的支持。在最新版本的Genesis中,您所需要做的就是编辑您想要的类别或术语,然后向下滚动,直到看到类别存档设置。
在这里,您可以添加标题和描述,它们将自动显示在归档页面上。
如果还不行,你可以把这个添加到你的Genesis子主题的functions.php中:
1
函数yoast_term_archive_intro () {
2
如果)!is_category (),,,,!is_tag (),,,,!get_query_var(‘分页’)){
3.
返回;
4
}
5
6
echo ‘& lt;h1 class=”入口标题”& gt;’single_term_title(假)。”,lt; / h1& gt;”;
7
echo ‘<div =”入口内容”>’wpautop(term_description())。”,lt; / div& gt;”;
8
}
9
10
add_action(‘genesis_before_loop’, ‘yoast_term_archive_intro’, 20);
当然,您可以自由地扩展上述函数,以添加更多的CSS类来进一步样式化输出。
自定义Post类型档案
更改自定义的文章类型归档比覆盖默认标签、类别和分类法要稍微复杂一些。您可以添加一个名为archive-{posttype}.php的新文件,其中使用自定义post类型的名称替换{posttype}部分。然后添加以下代码到该文件,您可以实现类似的结果:
1
如果(!get_query_var(‘分页’)){
2
$post_type = get_post_type_object(get_post_type());
3.
回声,lt; h1& gt;”。post_type美元和;gt;标签和gt;名字。”,lt; / h1& gt;”;
4
}
现在是最困难的部分。因为自定义post类型在WordPress的后端没有任何形式,所以不可能轻易地向这些自定义类型添加描述,也没有推荐的存储数据的方法。在使用Genesis中的子主题时,可以使用的一种方法是使用以下代码展开functions.php文件:
1
函数yoast_cpt_intro () {
2
如果(!get_query_var(‘分页’)){
3.
返回;
4
}
5
6
$ post_type = get_post_type ();
7
8
如果(genesis_get_option) ($post_type)’-title’, ‘child-settings’)) {
9
回声,lt; h1& gt;”。genesis_get_option ($ post_type。’-title’、’child-settings’)。”,lt; / h1& gt;”;
10
返回wpautop(genesis_get_option($post_type))。’-intro’, ‘child-settings’));
11
}
12
}
13
14
add_action(‘genesis_before_loop’, ‘yoast_cpt_intro’, 20);
您可能已经注意到,代码示例使用了两个自定义生成选项:$post_type。“标题”和post_t美元