
本文介绍如何仅在 WordPress 分页归档页(如 category/tag 的第 2 页及以后)中隐藏 .clr.tax-desc 描述区块,同时保留首页显示,通过条件判断与 CSS 控制实现精准样式管理。
本文介绍如何仅在 wordpress 分页归档页(如 category/tag 的第 2 页及以后)中隐藏 `.clr.tax-desc` 描述区块,同时保留首页显示,通过条件判断与 css 控制实现精准样式管理。
在 WordPress 主题开发中,许多主题会在分类(category)或标签(tag)归档页顶部自动输出术语描述(term description),并包裹在类似 <div class="clr tax-desc">...</div> 的容器中。默认情况下,该区块会在所有分页(page 2、page 3…)中重复出现,但实际业务场景中,我们往往仅需在第一页展示描述,后续分页则应隐藏以保持页面简洁与 SEO 合理性。
直接使用 is_paged() 配合 PHP 条件控制输出是最可靠的方式——优于纯 CSS 隐藏(后者仍会输出 HTML,影响语义与性能)。推荐在主题的 archive.php 或 taxonomy.php 模板文件中定位到描述输出区域(通常位于 the_archive_title() 之后、主循环 while (have_posts()) 之前),将其包裹如下逻辑:
<?php if ( is_archive() && !is_paged() ) : ?><?php if ( $description = term_description() ) : ?><div class="clr tax-desc">
<?php echo wp_kses_post( $description ); ?>
</div>
<?php endif; ?><?php endif; ?>
✅ 关键说明:
-
is_archive()确保仅作用于分类、标签、自定义分类法等归档页; -
!is_paged()排除所有分页(page 2+),仅保留第一页渲染; -
term_description()安全获取当前术语描述(兼容 category/tag/taxonomy); -
wp_kses_post()保障内容过滤,防止 XSS 风险。
⚠️ 注意事项:
- 若主题使用
get_the_archive_description()(适用于日期/作者归档),请改用term_description()—— 因为前者不支持分类法术语描述; - 切勿依赖
is_category()或is_tag()单独判断,否则无法覆盖自定义分类法; - 如必须使用 CSS 方案(例如无法修改模板),可添加以下规则,但仅作临时降级方案:
.paged .clr.tax-desc { display: none !important; }注意:
.paged是 WordPress 自动为分页归档页添加的 body class,此方式虽简单,但 HTML 仍被发送至浏览器,不符合语义化与性能最佳实践。
综上,优先推荐 PHP 层条件渲染——既减少冗余 DOM、提升页面语义清晰度,又避免 CSS 覆盖冲突风险。修改后请务必清除对象缓存(如有)并测试 page 1 与 page 2 的实际效果,确保描述区块按预期仅出现在首页。











