我们刚刚在 CSS-Tricks 上发布了一个精心设计的文章系列,其中包含许多不同的文章,所有文章都解答了同一个问题。所谓精心设计,指的是两点
我喜欢使用 WordPress 的原因之一是它实现这一点非常容易。我相信任何 CMS 都有自己的方法来做到这一点,我并不是想在这里进行 CMS 之间的比较。我只是想说明在 WordPress 中我发现实现这一点有多容易。
任何文章都可以使用模板
我在主题目录中创建了一个名为 eoy-2019.php
的 PHP 文件(eoy 表示“年末”,也就是本系列的主题)。在此文件的顶部,有一些特殊的代码注释,使它可以作为模板读取
/*
Template Name: EOY 2019
Template Post Type: post
*/

现在,我们发布的任何文章都可以从下拉菜单中选择此模板

现在它们将使用我们的酷炫模板!

该模板的特殊脚本和样式
实际上,我并不需要任何脚本,但原理与样式相同。
我在我的 header.php
文件中添加了一个条件检查,它将加载我专门为这些文章创建的 CSS 文件。
if (is_page_template('art-direction/eoy-2019.php') || is_category('2019-end-of-year-thoughts')) {
wp_enqueue_style('eoy-2019', get_template_directory_uri() . "/css/eoy-2019.css?version=7");
}
整个组的特殊模板
我可以通过多种方式将文章组合在一起
- 我可以为这些文章创建一个特殊的页面模板,并设计该模板以手动或使用自定义查询/循环链接到这些特殊文章。
- 我可以让它们共享一个标签,然后为它们创建一个特殊的标签归档页面。
- 我可以使用与我们的 指南 相同的系统,该系统结合了 CMB2 和 attached-posts 插件。
相反,我为所有文章赋予了相同的**类别**。出于某种原因,我觉得这样做最合适。我们没有大量使用类别,但我们会将其用于一些主要的文章组,例如 纪事 文章。
通过使用类别,我可以使用一个特殊的模板技巧。将文件命名为 category-2019-end-of-year-thoughts.php
,我可以使用该文件名末尾与我使用的类别名称的 slug 匹配,并且它“可以正常工作”,这要归功于 WordPress 模板层次结构。我不需要为该文件编写任何代码来将其用于显示此类别,并且可以免费获得 URL。现在,我有一个文件可以用来构建仅适用于这些文章的特殊设计。

未来的回退
同样,由于模板层次结构,特殊的文章模板将简单地回退到常规的 single.php
模板。类别主页将仅从常规的 archive.php
模板呈现。特殊的样式不会应用,但内容将保持完好,并且 URL 将保持不变。不错。
酷,感谢分享!