WordPress 仅调用当前分类目录标题,禁止出现Category

首先,确保你的主题文件夹中包含一个名为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>
滚动至顶部