首先,确保你的主题文件夹中包含一个名为category.php的文件。这是WordPress默认用于显示分类目录页面的模板文件。 在WordPress中,你可以使用以下代码输出当前分类目录的标题。你可以将这段代码添加到你的主题文件(例如,single.php、archive.php 或 category.php)中,确保它在你想要显示分类标题的位置。
<?php
the_archive_title( '<h1 class="h1 text-center text-lg-left my-4">', '</h1>' );
the_archive_description( '<p class="lead text-center text-lg-left opacity-8">', '</p>' );
?>
使用这段代码会出现一个问题:
就是它默认会带出来“Category:”字样,例如样式二。
如果你只想显示当前页面为分类页面时的标题,你可以结合 is_category()
条件使用 the_archive_title()
。以下是一个示例:
<?php
if (is_category()) {
echo '<h1>' . single_cat_title('', false) . '</h1>';
}
?>
上面代码实现的效果就是“样式一”效果。
在这里,single_cat_title('', false)
用于获取当前分类的标题,并使用 <h1>
标签将其包裹。第二个参数 false
表示不要在标题前后添加分隔符。
这样可以确保只有在分类页面时才会输出标题,而不会显示不相关的内容。
但是上面代码,在自定义的分类中不可用。
所以如果你使用了自定义分类目录(custom taxonomy),而上述代码在这种情况下不起作用,可能是因为 is_category()
只适用于默认的“分类”(category)而不是自定义分类目录。
在处理自定义分类目录时,你可以使用 is_tax()
来检查是否为自定义分类页面。下面是一个例子:
<?php
if (is_tax()) {
echo '<h1>' . single_term_title('', false) . '</h1>';
}
?>
在这里,is_tax()
用于检查是否为自定义分类目录页面,然后使用 single_term_title('', false)
获取当前分类目录的标题,并用 <h1>
标签包裹。同样,第二个参数 false
表示不要在标题前后添加分隔符。
这应该适用于默认分类和自定义分类目录。确保在你的自定义分类目录模板中使用这样的代码。
结束。
上面截图效果代码对比:
<div class="col-lg-12">
<?php
if (is_category()) {
echo '<h1 class="h1 text-center my-4">' . single_cat_title('', false) . '</h1>';
}
?>
<?php
the_archive_title( '<h1 class="h1 text-center text-lg-left my-4">', '</h1>' );
the_archive_description( '<p class="lead text-center text-lg-left opacity-8">', '</p>' );
?>
</div>