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

首页 / 中文教程 / 教程

Bricks 用 IsotopeJS 做筛选(一):入队库与基础初始化

教程:IsotopeJS 筛选系列第一篇——在 Bricks 里用 WordPress 原生入队 IsotopeJS(Bricks 内置库),配好 CSS 变量响应式列数与初始化脚本。

Ray ChanRay Chan·2026-08-18·约 1 分钟
目录
  1. 1.系列简介
  2. 2.步骤一:入队 IsotopeJS
  3. 3.步骤二:初始化脚本
  4. 4.步骤三:响应式列数 CSS
  5. 5.小结

Bricks 用 IsotopeJS 做筛选(一):入队库与基础初始化

IsotopeJS 是 Bricks 原生核心库之一,不需要上传到服务器——我们只需要像 Bricks 一样把它入队,再配两个自定义文件(CSS + init.js)即可实现筛选。

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

步骤一:入队 IsotopeJS

在子主题 functions.php 粘贴:

/**
 * Register/enqueue custom scripts and styles
 */

add_action( 'wp_enqueue_scripts', function() {
	// 只在画布与前端入队(不要在 builder 面板里,否则自定义 CSS 会污染构建器)
	if ( ! bricks_is_builder_main() ) {

	   // Isotope JS(库脚本)

	   // 在此 wp_enqueue_script 引入 isotope 库
	   // 以及你的 init.js 与自定义 CSS

步骤二:初始化脚本

官方提供了带错误处理、注释完善、data-attribute 辅助的完整 init 文件——你在 Bricks 里几乎不用写任何代码,直接粘贴即可:

window.addEventListener('DOMContentLoaded', () => {

   const isotopeWrappers = document.querySelectorAll('.isotope-wrapper');

   // 没有筛选容器则停止
   if (isotopeWrappers.length < 1) {
      return console.log('No isotope wrapper found. Make sure to ');
   }

步骤三:响应式列数 CSS

用 CSS 变量控制列数与间距,断点自动切换:

.isotope-selector {
    width: calc(calc(100% / var(--col)) - calc(calc(var(--gutter)* calc(var(--col) - 1))/var(--col)));
}
.isotope-wrapper {
    --col: 1;
    --gutter: 0px;
}
@media screen and (min-width: 768px){
    .isotope-wrapper {
        --col:2;
    }
}
@media screen and (min-width: 1200px) {
  root{
        --col:4;
    }
}

小结

  • IsotopeJS 是 Bricks 内置库,无需上传
  • 入队 + init.js + CSS 三步即可用
  • --col / --gutter 变量控制响应式网格

下一篇继续讲筛选按钮与排序逻辑。

延伸阅读

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.

延伸阅读