乐于分享
好东西不私藏

FacetWP分面筛选插件完全指南,让WordPress轻松实现电商级筛选功能 - 易服客工作室

FacetWP分面筛选插件完全指南,让WordPress轻松实现电商级筛选功能 - 易服客工作室

要点总结

  • FacetWP提供17种筛选类型(复选框、滑块、地图等),基于索引器对10万+文章实现低于100毫秒查询,专为大规模目录、房地产、招聘网站设计。
  • 适用场景:需按ACF/Pods自定义字段筛选、多帖子类型混筛、地图邻近搜索,或WooCommerce商店100+产品默认筛选不足。
  • 性能优势:索引器预置查找表,5万篇以上帖子查询低于100毫秒,远超WordPress默认归档和普通插件。
  • 定价:1站点99美元/年,无限站点279美元/年,终身版999美元;无免费版,GPL渠道可免费获取但无自动更新与官方支持。
  • 替代方案:帖子少于5000且仅需基础筛选选Search & Filter Pro;已用Toolset可继续用其筛选;产品少于100的WooCommerce商店用默认筛选即可。

打开任何一个目录网站、房地产列表网站、拥有成千上万个 SKU 的电商网站或招聘网站,看看它们是如何筛选结果的。你会看到筛选条件:左侧边栏包含复选框、滑块、日期选择器和下拉菜单。选择“价格 200-500 美元”+“颜色:红色”+“有库存”,结果无需重新加载页面即可更新,每个选项旁边都会显示数量,例如“红色 (47)”,这样你就能在点击之前知道会有多少件商品。

这就是分面筛选,亚马逊、Airbnb 和 Yelp 都采用了相同的交互模式。WordPress 本身并没有提供类似的功能。默认的归档页面会按日期顺序显示文章,没有任何筛选条件。因此,你只能选择:编写自定义的 React + WP REST API 代码(耗时数周,且不稳定),使用 WooCommerce 的内置小部件(仅适用于 WooCommerce 产品页面,功能非常有限),或者安装一个分面筛选插件。

FacetWP是 WordPress 上最常用的分面筛选插件,专为对筛选功能有严格要求的网站而设计。它提供 17 种开箱即用的筛选类型(复选框、下拉菜单、滑块、日期范围、自动完成、邻近/地图、星级评分、层级结构),内置列表构建器用于可视化布局设计,预置索引可快速查询海量数据集,并提供面向开发者的钩子 API。虽然它的价格并非最低,但却是能够轻松应对 10 万篇以上文章的插件。

本文将详细介绍 FacetWP 的功能、索引器的工作原理、如何构建您的第一个分面列表、所有 17 种分面类型及其使用时机、列表构建器、与 WooCommerce 和 ACF 的集成、实际性能数据、与 Search & Filter Pro 和 Toolset 的比较以及开发者钩子层。

快速决策指南:您需要 FacetWP 吗?

如果您符合以下条件,请使用 FacetWP:

  • 运营需要筛选的目录、房地产或招聘网站
  • 我的 WooCommerce 商店有 100 多个产品,但默认筛选器不够用。
  • 需要按 ACF/Pods 自定义字段筛选自定义文章类型
  • 想在一个列表中筛选多种帖子类型
  • 需要基于地图的邻近搜索(查找 X 英里范围内的房源)
  • 关注基于索引器的性能(对 5 万篇以上帖子进行低于 100 毫秒的查询)

如果您符合以下条件,请改用 Search & Filter Pro:

  • 需要最便宜的基本过滤方案
  • 不需要滑块、自动完成或邻近度筛选功能
  • 帖子数量少于 5000 篇(小规模网站无法享受索引器带来的好处)

如果您符合以下条件,请改用工具集类型/视图:

  • 已经在使用 Toolset 来创建自定义文章类型和模板
  • 希望筛选功能成为更广泛的自定义文章标题 (CPT) 框架的一部分
  • 不介意学习 Toolset UI 生态系统

如果您符合以下条件,请继续使用 WooCommerce 的默认筛选器:

  • 仅按类别、属性和价格筛选
  • 不需要数值范围滑块或地图邻近度
  • 产品数量少于100种

什么是分面过滤?“分面”又是什么?

维度是指数据集上的单个可筛选维度。例如,在房地产网站上,维度包括:价格、卧室数量、房产类型、城市、是否带泳池。在 WooCommerce 中,维度包括:类别、属性(颜色、尺寸)、价格范围、库存情况。在招聘网站上,维度包括:行业、薪资范围、地点、职位类型。以上每个维度都是一个维度

列表是指经过筛选的结果集。在房地产网站上,列表是“所有房产”。在 WooCommerce 中,列表是“所有产品”。在目录网站上,列表是“所有列表” 

多面筛选是一种用户体验模式,用户可以将多个筛选条件组合起来,实时缩小列表范围,具体包括:

  • AJAX 更新(无需页面重新加载)
  • 每个选项显示的数量(“红色 (47)、蓝色 (12)、绿色 (3)”)
  • 当没有匹配结果时,禁用选项(“绿色 (0)”或隐藏)
  • 浏览器前进/后退操作会将状态保留在 URL 中
  • 多个方面同时发挥作用

WordPress 的默认归档和搜索功能与此截然不同。它们按日期顺序显示所有文章,可能还会提供一个分类下拉菜单。FacetWP 可以将 WordPress 安装从“博客”转变为“可筛选的数据库”。

免费版 vs 专业版:FacetWP 许可包含哪些内容 {#pricing}

FacetWP 由 FacetWP, LLC(Matt Gibbs,前 Yoast 创始人)以年度授权方式销售。WordPress.org上没有免费版本。最便宜的套餐也是付费的。

定价(年费,所有级别均包含所有功能):

  • 1 个站点:99 美元/年
  • 3 个站点:每年 179 美元
  • 无限站点:279 美元/年
  • 终身版(无限站点):999 美元

每个等级包含的内容:

  • 17 种刻面类型
  • 房源生成器(可视化布局设计器)
  • 查询构建器(在 SQL 级别进行筛选,而不仅仅是显示)
  • 索引器(预置的查找表,用于快速查询)
  • 30 多个开发者钩子和过滤器
  • WP-CLI 命令
  • REST API 端点
  • WooCommerce、ACF、Pods、JetEngine、Toolset、Polylang、WPML 集成
  • 所有插件均免费:地图分面(邻近性)、条件逻辑、缓存、Caldera、用户文章类型集成

续费价格全价(首年无折扣)。所有附加服务自生效日起即包含在内。

在 GPL Times 商店中,GPL 会员可以免费获得相同的专业版。如果您是会员,请安装FacetWP,无需计算每个站点的许可费用。

GPL 许可版本不提供的功能包括:来自 FacetWP.com 的自动更新以及与团队直接沟通的支持工单(Matt Gibbs 亲自回复了很多工单,这确实是一大损失)。对于大多数用户来说,定期手动更新和 FacetWP 在 Slack 上的用户社区可以弥补这些不足。

步骤 1:安装 FacetWP {#step-1-install}

安装:WordPress 管理后台 -> 插件 -> 添加新插件 -> 上传插件 -> 上传facetwp.zip-> 启用。FacetWP 会在管理后台侧边栏的“设置”->“FacetWP”下添加一个新菜单。

首次激活后,您将进入“Facets”(筛选)选项卡,其中已创建了一个默认筛选条件(分类)。该插件顶部导航栏包含四个选项卡:“Facets”(筛选) 、“Listings”(列表)“Settings”(设置)“Support”(支持)。右上角的“Re-index”(重新索引)按钮是 FacetWP 中最常用的按钮。

如果您拥有 FacetWP.com 的许可,请将您的许可密钥粘贴到“设置”->“常规”下。GPL 许可版本则完全跳过许可验证。

步骤 2:使用房源创建工具创建房源 {#step-2-listing}

列表是您正在筛选结果集。在创建筛选条件之前,您需要一个列表来进行筛选。

点击“列表”->“添加新列表”打开列表生成器。列表生成器有两个选项卡:“显示”(每个结果的视觉布局)和“查询”(结果集中包含哪些帖子)。

“显示”选项卡是一个拖放式布局设计器。您可以在这里为每个搜索结果项构建视觉模板。中心画布包含占位符块,例如文章标题、特色图片、自定义字段、分类和自定义 HTML。将项目拖入即可组成布局。右侧的设置面板(“基本”和“样式”选项卡)可控制网格列、结果间距、无结果消息和自定义 CSS 类。

对于房地产网站,您的模板可能是:

  • 特色图片(160像素高)
  • 标题
  • 价格(自定义字段)
  • 卧室数 | 浴室数 | 面积(平方英尺)(自定义字段,内嵌式)
  • 节选(60个字符)
  • 查看列表按钮

对于招聘网站,您的模板可能是:

  • 公司标志
  • 职称
  • 工作地点 | 薪资范围 | 工作类型(内嵌元数据)
  • 发布日期
  • 立即申请按钮

“样式”选项卡用于处理视觉效果:边框、内边距、背景、悬停效果、字体。

点击右上角的“保存”。现在,该列表会生成一个短代码,就像[facetwp template="blog_posts"]您可以将其嵌入到网页中一样。

步骤 3:创建你的第一个 Facet {#step-3-facet}

点击“分面”->“添加新分面”打开分面构建器。

您需要在每个方面配置的字段:

  • 标签
    :显示在前端的易于理解的名称(例如“物业类型”)。
  • 名称
    :内部别名,由标签自动生成(例如property_type)。
  • 复制短代码
    :一键复制嵌入代码[facetwp facet="property_type"]
  • 面板类型
    :输入界面(复选框、下拉菜单、滑块等)。将在步骤 6 中介绍。
  • 数据源
    :数值的来源。内置数据源包括所有分类、文章类型、文章字段(标题、作者、日期),以及如果安装了 ACF/Pods/JetEngine 插件,则还包括这些插件的自定义字段。
  • 父级术语
    (用于分类数据源):将筛选条件限制为特定术语的子项。例如,仅显示“电子产品子类别”。
  • 值修饰符
    :包含或排除特定值(例如,仅显示“特色”属性)。
  • 层级式
    :对于嵌套分类,显示带缩进的树状结构。
  • 显示幽灵选项
    :保持显示结果为 0(灰色显示)的筛选选项,而不是隐藏它们。
  • 分面逻辑
    :AND(匹配所有选定项)或 OR(匹配任意一项)。默认值取决于分面类型。
  • 排序方式
    :按字母顺序、按词条数量、按词条顺序或自定义。
  • 数量
    :要显示的最大选项数。
  • 软限制
    :初始显示此数量,并提供“显示更多”链接。

保存筛选条件。它现在有了一个短代码[facetwp facet="property_type"]

步骤 4:在页面上显示筛选条件和列表 {#step-4-display}

创建一个新的 WordPress 页面(例如“房产”)。在页面编辑器中,粘贴以下短代码:

[facetwp facet="categories"]

[facetwp facet=”property_type”]

[facetwp facet=”price_range”]  [facetwp template=”blog_posts”] 

保存并查看页面。各个筛选条件将以表单控件(复选框、下拉列表、滑块)的形式呈现,列表内容将按照您在步骤 2 中创建的视觉布局显示在下方。

神奇之处在于:当用户点击某个筛选选项时,FacetWP 会通过 AJAX 实时更新列表,并统计所有其他筛选条件。URL 会生成一个哈希值,#fwp_property_type=condo这样状态就可以共享,并且可以进行前后跳转操作。

您无需使用短代码。FacetWP 支持 Gutenberg 区块(FacetWP Facet 和 FacetWP Listing 区块)、Elementor 小部件(通过 FacetWP for Elementor 插件)、Beaver Builder 模块以及直接 PHP 函数:

echo facetwp_display('template', 'blog_posts'); echo facetwp_display('facet', 'property_type');

PHP 表单是您在自定义主题中要使用的。

第五步:索引器(它的作用、重要性){#step-5-indexer}

FacetWP 的秘诀在于:它会预先为每篇文章的每个 facet 值构建一个 SQL 索引。当用户选择“卧室数 = 3”时,FacetWP 不会执行复杂的 SQL JOIN 操作,而是按(facet_name, facet_value, post_id)三元组查询一个扁平的索引表。

在一个拥有 50,000 篇文章、8 个维度的 WordPress 网站上,查询时间从 3-6 秒(自定义 SQL 连接 post_meta)缩短到 30-100 毫秒(扁平索引查找)。

权衡之下:您必须保持索引更新。FacetWP 通过三种方式实现这一点:

  • 文章保存时自动索引
    :保存文章时,仅重新索引该文章的 facet 值。速度很快。
  • 完全重新索引
    (点击“重新索引”按钮):重建整个索引。大型网站速度较慢(5万篇文章需要5-30分钟)。
  • 定时重新索引
    :可选,对文章保存之外发生变化的内容(例如 WooCommerce 库存水平)进行计划重新索引。

管理界面右上角的“索引表为空”警告是 FacetWP 提示您索引的行数为零。点击“重新索引”即可填充索引。

如果您的筛选器显示错误的计数或缺少选项,第一步始终是:点击“重新索引”。80% 的 FacetWP 支持工单都是通过重新索引解决的。

步骤 6:17 种面类型详解 {#step-6-types}

每种筛选类型都会呈现不同的用户界面,并提供不同的筛选模式。

对于分类和离散值:

  1. 复选框
    – 经典的亚马逊式多选复选框。最适合 5-30 个选项。分类法的默认设置。
  2. 单选按钮
    ——一次只能选择一个值的情况最合适(例如“房源类型:出售 | 出租”)。
  3. 下拉菜单
    ——原生 HTML 选择框。选项较多时可节省垂直空间。
  4. fSelect
     – 可搜索的多选下拉菜单(类似 Select2)。最适合 30-200 个选项。
  5. 层级结构
    ——嵌套分类树,点击即可深入查看。最适合深度分类树(例如电子产品 > 电脑 > 笔记本电脑)。
  6. 自动补全
    ——在搜索框中输入内容即可自动匹配值。最适合包含 200 个以上选项且用户清楚自己想要什么的情况。

对于数值/连续值:

  1. 滑块式
    ——单把手范围滑块。最适合“最高价格”类型的过滤器。
  2. 数量范围
    ——双把手滑动式,带最小值和最大值。最适合价格范围。
  3. 日期范围
    ——日历选择器,用于选择起始日期和结束日期。最适合用于活动日期和帖子发布日期。

特殊数据:

  1. 搜索
    – 与文章内容匹配的关键词搜索输入 + 自定义字段。
  2. 评分
    – 星级评分筛选器(例如 4 星及以上)。
  3. 邻近性
    ——“查找距离邮政编码/地址 X 英里范围内的房源”。需要 Google Maps API。
  4. 地图
    – 交互式结果地图(拖动地图进行筛选)。需要 Google Maps API。

用于分页和排序:

  1. 寻呼机
    – 页码控制。
  2. 排序
    – 下拉菜单,供用户选择排序方式(价格升序/降序、日期、受欢迎程度)。

对于用户界面:

  1. 重置
    – “清除所有筛选条件”按钮。
  2. 切换开关
    ——布尔开/关开关。

房地产网站的推荐起始维度:层级(城市 > 社区)、数字范围(价格)、复选框(卧室)、复选框(房产类型)、切换(有游泳池)、排序(价格/日期)、重置。

推荐用于 WooCommerce:复选框(类别)、数字范围(价格)、复选框(颜色属性)、复选框(尺寸属性)、切换(库存)、评分(4 星以上)、排序、重置。

步骤 7:列表构建器查询选项卡(按查询级别进行筛选){#step-7-query}

“显示”选项卡用于布局;“查询”选项卡用于实际获取的内容。

查询选项卡用户界面允许您WP_Query以可视化的方式构建:

  • 获取
    :要包含哪些文章类型(可多选)。默认值:文章。对于房地产文章,请设置为您的自定义文章property类型 (CPT)。
  • 每页显示 N 条
    帖子:每页显示的帖子数。
  • 排序方式
    :默认排序(发布日期、标题、随机、自定义字段、菜单顺序)。
  • 添加查询排序
    :二级排序。
  • 添加查询筛选器
    :在应用筛选条件之前,在 SQL 层级添加筛选器。例如:“仅显示已发布且已启用“特色”属性的房源。”
  • 转换为查询参数
    :切换到原始 PHPWP_Query参数以获得完全控制。

何时应该在查询级别进行筛选,何时应该添加分面?查询级别的筛选器是预先筛选的(始终应用,用户无法控制)。分面是用户应用的(可选,用户选择)。因此:“始终仅显示特色房源”= 查询筛选器。“允许用户按房源类型筛选”= 分面。

步骤 8:调整设置和索引器行为 {#step-8-settings}

点击顶部导航栏中的“设置”选项卡,进行插件全局配置。

沿着关键行走:

  • 许可证密钥
    :仅适用于 FacetWP.com 直接购买的许可证。请在此处激活。
  • Google Maps API 密钥
    :用于“邻近”和“地图”功能。请从 Google Cloud 控制台获取;启用生成式引擎优化(GEO)编码和 Maps JavaScript API。
  • 使用旧版邻近度分面
    :如果您是从使用旧 API 的旧版 FacetWP 安装升级,并且已有邻近度分面,请启用此选项。
  • 分隔符
    :千位分隔符(逗号)和小数分隔符(句点)。影响价格显示。欧洲地区请分别改为“.”和“,”。
  • 加载 jQuery
    :FacetWP 无需 jQuery 即可运行。仅当自定义主题或分面钩子依赖于 jQuery 时才启用此功能。
  • 启用无障碍支持
    :用于键盘导航和屏幕阅读器兼容性的 ARIA 属性。公共网站始终启用。
  • 高级查询检测
    :尝试检测主题/插件使用的 WP_Query 对象,以便您可以自动将 FacetWP 连接到它们。默认开启。
  • 调试模式
    :在浏览器控制台中输出查询信息。有助于排查故障。生产环境中禁用。
  • 启用自动索引
    :文章保存时自动重新索引。几乎始终启用。仅当您的发帖频率较高,需要延迟索引时才应禁用。

点击“导入/导出”(单独的子选项卡)将您的 facet 和列表配置备份为 JSON 格式。这对于从测试环境部署到生产环境至关重要。

WooCommerce 集成 {#woocommerce}

FacetWP 可直接用于 WooCommerce 商店、分类和标签存档。它会自动检测 WooCommerceproduct_query并与之集成。

WooCommerce 常用筛选设置:

  1. 创建以下方面的分类:类别(层级)、标签(复选框)、价格(数字范围)、每个属性(复选框)、库存(切换)、促销(切换)、评分(星级)。
  2. 创建商品列表(或使用 WC 的默认产品循环,FacetWP 与两者都集成)。
  3. 在商店页面上,在侧边栏小部件或产品上方添加筛选条件。
  4. 完毕。

特殊情况:

  • 具有属性的可变产品
    :FacetWP 可以通过筛选器按变体级别(而不仅仅是父产品)进行筛选facetwp_enable_product_variations
  • 自定义产品分类
    :FacetWP 可自动检测所有 WC 产品分类,包括自定义分类。
  • 缺货与可见
    :WordPress 有一个“从目录中隐藏缺货商品”的设置。FacetWP 会遵循此设置。
  • 产品价格范围有多种变体
    :FacetWP 会索引可变产品的最低价格,因此价格滑块筛选正确。

WooCommerce 集成是 FacetWP 的第一大用例,Matt Gibbs 花费了大量时间来使其能够应对各种极端情况。

ACF、Pods 和 JetEngine 集成 {#acf}

FacetWP 可自动检测ACF Pro、Pods 和JetEngine字段组。构建 facet 时,自定义字段会显示为数据源选项,无需编写任何代码。

ACF集成:

  • 文本字段:变为搜索筛选条件。
  • 数字字段:变为滑块或数字范围选项。
  • 日期字段:变为日期范围字段。
  • 选择框/复选框字段:变为复选框或下拉列表选项。
  • 分类字段:变为复选框或层级结构选项。
  • 重复字段:每一行都单独建立索引(因此您可以按任何一行的值进行筛选)。
  • 分组字段:每个子字段都成为其自身的分面数据源。

JetEngine 集成:逻辑相同,所有 JetEngine 元字段和自定义文章类型都会自动检测。

Pods 集成:所有 Pods 字段均可作为数据源。

如果你使用 ACF Pro 构建房地产网站并定义房产字段,FacetWP 可以让你基于这些字段进行分面搜索,而无需任何 PHP 代码。

实际性能数据 {#performance}

基于代表性数据集的真实数据。

网站 1:WooCommerce 商店,2400 个产品,15 个分类,Kinsta 主机:

  • 默认 WC 过滤器:过滤后的商店页面 TTFB 为 800 毫秒
  • FacetWP(无索引):在筛选后的商店页面上耗时 1.2 秒
  • FacetWP(已索引):筛选后的商店页面加载时间为 180 毫秒

网站 2:房地产网站,18,000 条房源信息,12 个筛选条件,定制 VPS:

  • 不使用 FacetWP(原始数据,WP_Query包含元连接):过滤页面耗时 6.4 秒
  • 使用 FacetWP(已索引):290 毫秒

网站 3:招聘网站,65,000 个活跃职位,9 个方面,Cloudways:

  • FacetWP(已索引):初始页面加载时间 380 毫秒,AJAX 更新时间 90 毫秒

索引器重建时间:

  • 2400 条帖子:8 秒
  • 18,000 条帖子:1 分钟
  • 65,000 条帖子:6 分钟
  • 20万条帖子:25分钟(通过定时任务分批处理)

索引器运行时间大致呈线性增长。对于帖子数量超过 5 万篇的网站,索引器会通过 WP-Cron 分批运行,以避免内存耗尽。

内存影响:启用分面后,每次页面渲染将额外占用约 12MB PHP 内存。

将 FacetWP 与对象缓存(Redis 或 Memcached)结合使用,可额外提升 30-50% 的查询性能。

客观比较。

特征
FacetWP
搜索和筛选专业版
工具集视图
面类型
17
8
6
滑块/数值范围
是的
是的
邻近/地图
是的
自动完成
是的
层级分类法
是的
有限的
是的
预置索引器
是的
AJAX 更新
是的
是的
是的
可视化布局构建器
是的(房源建设者)
有限的
是的(观点)
WooCommerce 集成
本国的
本国的
通过插件
ACF/吊舱/喷气发动机
本国的
有限ACF
仅限胶囊
WPML / Polylang
是的
是的
是的
5万篇帖子中的表现
出色的
慢的
慢的
开发者钩子
90岁以上
30岁以上
Toolset API
WP-CLI 命令
是的
REST API
是的
年价格(1 个站点)
99美元
79美元
69 美元(CRED 套餐 149 美元)
年费(无限量)
279美元
199美元
199美元

使用 FacetWP进行大规模的严肃筛选,尤其适用于电子商务、目录和房地产。

使用 Search & Filter Pro可以在帖子数少于 5000 篇的小型网站上实现价格低廉的基本筛选功能。

如果您已经在使用 Toolset 生态系统,并且需要在更广泛的 CPT/模板工作中进行筛选,请使用 Toolset Views 。

对于互补工具,SearchWP与 FacetWP 搭配使用效果很好,SearchWP 用于全文搜索相关性,FacetWP 用于对结果进行分面过滤。

10 个常见的陷阱 {#gotchas}

  1. 创建或编辑筛选条件后,必须重新建立索引。新创建的筛选条件会在文章保存时自动建立索引,但现有文章需要手动重新建立索引才能填充筛选条件的值。

  2. 邻近度和地图功能需要已启用结算功能的 Google Cloud 帐户。免费套餐涵盖大部分使用量,但您需要在 Google Cloud 控制台中启用结算功能(使用信用卡)才能激活生成式引擎优化(GEO)编码 API。

  3. 自定义文章类型默认情况下不会被索引。添加新的自定义文章类型后,您需要通过facetwp_indexer_post_facet筛选器或重新配置列表的查询选项卡,告知 FacetWP 将其包含在索引中。

  4. 缓存插件可能会干扰 AJAX 请求。如果您使用 WP Rocket 或 LiteSpeed Cache,请将筛选页面从缓存中排除(通过“永不缓存 URL”),否则您将提供过时的筛选器计数。

  5. 搜索功能仅搜索已索引的字段。如果您的搜索需要匹配文章内容、自定义字段和评论,则需要使用SearchWP作为搜索引擎,并在此基础上使用 FacetWP 进行筛选。

  6. 日期范围筛选条件要求索引字段的数据类型为“date”。ACF日期字段会自动检测;自定义编码的、以字符串形式存储的日期字段需要经过转换器才能正常工作。

  7. 在 cron 任务配置存在问题的网站上,索引器的 wp_cron 模式会静默失败。如果缓存命中率不wp-cron.php高(例如低流量网站),索引将永远不会重建。请*/5 * * * * wget -q http://yoursite.com/wp-cron.php在测试环境中使用真正的 cron 任务。

  8. AJAX 筛选功能会干扰浏览器书签。URL哈希值会改变,但路径不变。如果用户将筛选后的 URL 添加到书签,他们会看到筛选后的内容,但搜索引擎不会对其进行索引。如果 SEO 很重要,建议搭配 FacetWP 的“美化 URL”插件使用。

  9. 邻近度筛选功能的地址自动补全功能使用 Google Places。免费套餐每日查询次数上限为 1000 次。如果使用量过大超出免费套餐限额,则会从您的信用卡中扣款。

  10. WooCommerce 可变产品的价格筛选器显示的是父产品的价格。要按变体价格筛选,请启用此功能facetwp_enable_product_variations(通过编程方式启用,无需用户界面切换)。

开发者参考:钩子、过滤器、REST API {#developer-reference}

FacetWP 提供 90 多种滤镜。以下是其中效果最显著的几种。

自定义索引器行为(为分面添加自定义数据源):

add_filter('facetwp_indexer_post_facet', function($return, $params) {  $facet = $params['facet'];  if (post_id = year = get_post_meta(year) {  FWP()->indexer->insert([  'post_id' => year,  'facet_display_value' => return; }, 10, 2);

渲染前修改分面的选项:

add_filter('facetwp_facet_render_args', function(args['facet']['name'] === 'property_type') {  args['values'], 0, 5); // top 5 only  }  return query_args, query_args['posts_per_page'] = 20;  query_args; }, 10, 2);

接入 AJAX 响应(修改返回给浏览器的计数或值):

add_filter('facetwp_ajax_response', function(output['extra_message'] = 'Showing top results only';  return defaults, exclude_categories = [10, 11];  post_id);  if (array_intersect($cats, $exclude_categories)) {  return false; // skip indexing  }  return args) {  if (args['facet']['name'] === 'price') {  $args['min'] = 100000;  $args['max'] = 5000000;  args; });

以编程方式触发重新索引(批量导入后很有用):

FWP()->indexer->index();

WP-CLI 命令:

# Trigger a re-index from CLI wp facetwp index  # Re-index a specific post wp facetwp index --post_id=123  # Re-index only a specific facet wp facetwp index --facet=property_type  # Show indexer status wp facetwp status

REST API 端点(已认证):

POST /wp-json/facetwp/v1/fetch -> AJAX-style query for current page's listings + facet states GET /wp-json/facetwp/v1/refresh -> rebuild facet counts

这些功能支持自定义前端(React、Vue),它们通过无头 API 与 FacetWP 进行通信。

常见问题解答 {#faq}

FacetWP 是否支持 Gutenberg 编辑器/区块主题? 是的。您可以使用 FacetWP Facet 和 FacetWP Listing Gutenberg 区块。或者,您也可以在区块中的任何位置使用短代码。

FacetWP 是否支持 Elementor? 是的,通过 FacetWP for Elementor 集成(所有许可证均包含此功能)。您可以将 FacetWP 小部件直接拖放到 Elementor 模板中。

我可以不使用 WooCommerce 而使用 FacetWP 吗? 当然可以。它最常见的应用场景包括房地产、招聘网站、目录、博客等,这些都与 WooCommerce 无关。

FacetWP 是否支持多语言网站? 是的,它原生支持 WPML 和 Polylang。每种语言都有自己独立的索引副本,因此法语用户可以看到法语的 facet 值,英语用户可以看到英语的 facet 值。

FacetWP 会占用多少内存? 每次页面渲染大约额外占用 12MB。索引器重建会占用 80-200MB,具体取决于数据集的大小;memory_limit请相应地配置 PHP。

如果我的主机在重建过程中终止了索引器怎么办?

FacetWP 每 5 秒保存一次索引器进度。如果索引器被终止,下次点击“重新索引”按钮会从上次中断的地方继续。

我可以自定义 AJAX 加载指示器吗? 可以,通过 CSS(.facetwp-loading类)或facetwp_loading_template过滤器。

FacetWP 有免费试用吗? 直接授权的话,没有。

FacetWP 会拖慢我的后台管理速度吗? 几乎不会。设置界面每次保存都只渲染一个 PHP 页面。索引器通过 cron 或 AJAX 分块运行,不会阻塞后台操作。

我可以在不同站点之间迁移筛选条件吗? 可以。“设置”->“导入/导出”会生成所有筛选条件和列表的 JSON 转储文件。在新站点上导入,重新索引,就完成了。

“筛选条件”和“列表”有什么区别?

“列表”是结果集(即经过筛选的帖子)。“筛选条件”是一种筛选控件(例如复选框、滑块等)。一个“列表”可以被多个“筛选条件”筛选。

地图功能需要 Mapbox 还是 Google 帐户? 默认使用 Google 帐户(需要启用生成式引擎优化(GEO)编码和地图 JavaScript 的 API 密钥)。Mapbox 可通过第三方插件使用。

FacetWP 可以按作者筛选文章吗? 可以。使用复选框或下拉列表筛选器,并结合内置的“作者”数据源。

最后的一些想法 {#final-thoughts}

FacetWP 是一款 WordPress 过滤插件,它之所以定价较高,是因为它是唯一一款能够真正实现良好扩展性的插件。对于文章数量少于 5000 篇的小型网站,Search & Filter Pro 甚至 WordPress 自带的过滤器就足够用了。但一旦您的网站文章数量超过 10000 篇,需要更高性能的过滤功能,FacetWP 的索引器就能让您的网站从令人抓狂的糟糕体验中脱颖而出。

选择 FacetWP 的第二个原因是其列表构建器:无需编写 PHP 模板即可为筛选结果构建自定义布局,这确实能显著提高工作效率。“查询”选项卡让您WP_Query无需编写代码即可进行可视化构建。

FacetWP 不适用于以下情况:只需要一个类别下拉菜单的小型网站、已经使用 Toolset 作为框架的网站,或者预算受限、Search & Filter Pro就足够好的项目。

将 FacetWP 与SearchWP结合使用,实现搜索筛选器全文相关性评分;使用ACF Pro实现筛选器自定义字段的过滤;使用Perfmatters保持前端 JS 代码精简;并配置WP Rocket以跳过筛选页面缓存。这套技术栈支撑着我见过的绝大多数高流量 WordPress 筛选网站。


点击左下角“阅读原文”获得文中的WordPress主题/插件长按图片添加微信客服咨询如何搭建企业网站、商城、在线教育、跨境电商、私域小程序和会员系统网站等。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-26 12:54:54 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/803643.html
  2. 运行时间 : 0.149004s [ 吞吐率:6.71req/s ] 内存消耗:4,818.61kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=3d70fe0afd28365a3c5b168a3c03fd56
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000613s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001023s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000336s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000358s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000503s ]
  6. SELECT * FROM `set` [ RunTime:0.000208s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000619s ]
  8. SELECT * FROM `article` WHERE `id` = 803643 LIMIT 1 [ RunTime:0.003021s ]
  9. UPDATE `article` SET `lasttime` = 1782449694 WHERE `id` = 803643 [ RunTime:0.016131s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000487s ]
  11. SELECT * FROM `article` WHERE `id` < 803643 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000613s ]
  12. SELECT * FROM `article` WHERE `id` > 803643 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000394s ]
  13. SELECT * FROM `article` WHERE `id` < 803643 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002740s ]
  14. SELECT * FROM `article` WHERE `id` < 803643 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000600s ]
  15. SELECT * FROM `article` WHERE `id` < 803643 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.010192s ]
0.153168s