在WordPress.org中添加自定义类别页面

时间:2017-07-09 作者:Ritwik Debnath

如何添加显示特定类别帖子的页面并分别设置页面样式?我想为博客上的每个类别创建一个页面。是否可以不使用插件就这样做?我正在使用一个名为“西风”的主题,它使用视觉作曲家。链接:https://themeforest.net/item/zephyr-material-design-theme/9865647

2 个回复
SO网友:InSight

做一个child theme 更改父主题(Zephyr)Edit: 有关西风主题的详细信息,以及您可以使用其archive.php 文件+关联的模板文件一起构建您的类别页面这里有更多信息供您参考:https://codex.wordpress.org/Category_Templates

SO网友:Andrii Shekhirev

是的,可以为每个类别创建单独的归档页面,而无需使用插件。在这种情况下,您有三种选择:

如InSight的回答所述,为每个类别创建单独的模板文件

向单个类别模板文件添加条件语句。

使用自定义CSS,无需根据类别ID修改模板文件。

每种选择的可取性取决于您拥有多少类别,以及与基本存档模板相比,每个类别页面需要多少自定义。如果所需的更改只是美容(例如更改颜色、字体等),那么第三个选项可能是最简单的。如果不止几个类别,并且您需要在页面上动态生成一些对象(例如,类别描述或修改的类别标题),那么第二种策略可能比第一种策略更易于管理,因为在这种情况下,如果您想稍后进行任何更改,您只需要修改单个文件。

由于InSight已经对每个类别一个文件的方法进行了描述(非常详细),因此我将在下面提供关于第二个和第三个方法的更多信息:

Method 2, 又名“一个文件来统治所有人”。我假设您已经创建了child theme 并在“类别”管理部分准备好所有类别。据我所知,西风没有category.php 样板它使用archive.php 并在其中加载另一个模板文件,即/framework/templates/archive.php. 因此,您可以在子主题内重新创建整个结构(archive.php 在根和/framework/templates/archive.php) 或者在子主题文件夹中创建一个名为category.php 只需从家长的/framework/templates/archive.php. 接下来,根据需要修改新模板文件,使用is_category() 基于类别ID或slug的条件,例如。

<?php 
if ( is_category( \'Category A\' ) ) {
    <p>This is the text to describe category A</p>
} else if ( is_category( \'Category B\' ) ) {
    <p>This is the text to describe category B</p>
} else {
    <p>This is some generic text to describe all other category pages</p>
}
?>
Method 3, 又名“保持简单”。您可以使用CSS向特定类别页面添加样式,可以通过子主题,也可以使用自定义程序的本机“附加CSS”选项卡。每个类别页面都会自动指定一个包含类别ID的类,您可以使用该类引用CSS声明中的各个类别页面,例如,如果您想将ID为XX的类别的标题颜色更改为红色:.categogy-XX .l-titlebar-content h1 { color: #f00; }

结束

相关推荐

Categories' hierarchy in URL

我目前正在处理的网站中的帖子都有多个层次分类。例如:Source - Books -- Moby Dick -- Sherlock Holmes 永久链接设置为/%category%/%postname%/. 然而,一篇文章的URL并不包括所有的子类别——我得到的只是site.com/source/books/*postname*, 尽管这篇文章在来源上没有分类,但只在书籍+白鲸上。有人能帮我找出如何调整这种行为吗?非常感谢。