🆕 Bricks 2.4 已发布:查询循环性能提升 40%,迁移教程同步更新 →

首页 / 中文教程 / 教程

Bricks 用 IsotopeJS 做筛选(二):自定义分类法管理图片分类

教程:IsotopeJS 筛选系列第二篇——用 WordPress 自定义分类法(taxonomy)给图片打分类标签,配合函数取当前文章分类,让筛选完全动态化。

Ray ChanRay Chan·2026-08-18·约 1 分钟
目录
  1. 1.系列回顾
  2. 2.思路:用分类法而非自定义字段
  3. 3.代码一:注册 Filter Categories 分类法
  4. 4.代码二:取当前文章分类
  5. 5.小结

Bricks 用 IsotopeJS 做筛选(二):自定义分类法管理图片分类

系列第一篇入队了 IsotopeJS 并完成基础初始化。本篇让筛选真正动态化——用 WordPress 自定义分类法给图片打分类,而不是用 ACF 自定义字段。

本文基于 BricksLabs 公开免费教程实译,代码完整可复用。原文:How to create filters with IsotopeJS in Bricks (Part 2)

思路:用分类法而非自定义字段

给图片分类可以用 ACF / MetaBox / Pods 自定义字段,但更“WordPress 原生”的做法是自定义分类法(taxonomy)。这样筛选按钮能直接从分类列表生成,图片管理也更自然。

代码一:注册 Filter Categories 分类法

在子主题 functions.php 手动注册(不用 CPT UI 插件):

// 注册名为 Filter Categories 的新分类法
function bl_add_filter_categories_taxonomy() {
  $labels = array(
      'name'              => 'Filter Categories',
      'singular_name'     => 'Filter Category',
      'search_items'      => 'Search Filter Categories',
      'all_items'         => 'All Filter Categories',
      'parent_item_colon' => 'Parent Filter Category',
      // ... 完整标签 ...
  );

代码二:取当前文章分类

筛选需要把当前文章的分类名输出到 DOM,供 IsotopeJS 读取:

// 获取当前图片关联的所有分类
function bl_get_terms_from_filter_categories(){

	$term_obj_list = get_the_terms( get_the_ID(), 'filter_categories' );
	$terms_string = join(', ', wp_list_pluck($term_obj_list, 'name'));

	return $terms_string;
}

wp_list_pluck 取出所有分类名并用 join 拼成逗号分隔字符串,方便输出为 data-category 属性。

小结

  • 分类法方案比自定义字段更原生、更易维护
  • 筛选按钮可动态从分类列表生成
  • 下一篇继续讲筛选交互逻辑

延伸阅读

Ray Chan

站长

Ray Chan

WordPress Developer & Bricks Specialist

WordPress developer with 10+ years of client builds. Switched to Bricks in 2023 — now builds fast WordPress sites and migrates legacy Elementor/Divi projects.

延伸阅读