
JetEngine的CPT(自定义文章类型)设置中,“注册查询变量”和“重写”选项的设置会影响URL结构和搜索引擎索引。我们将总结每个设置的含义,并探讨如何利用它们。
什么是文章类型
“文章类型”是区分WordPress中内容的种类(type)的概念。
如果将WordPress视为内容仓库,那么“文章类型”可以理解为仓库内的‘内容箱类型’。WordPress内部将文章类型分为如下几种。
最基本上分为“页面(Page)”和“文章(Post)”,“页面”用于存储网页的HTML代码,而“文章”则用于撰写博客、文章等内容,并在网页的头部/尾部设计之间展示通用的’内容’。如果安装WooCommerce以在WordPress上运营商店,则会额外定义一个名为’product’的文章类型。
- 📄
post
= 博客文章箱 - 📃
page
= 静态信息(介绍/咨询等)箱 - 📷
attachment
= 图片或文件箱 - 🛒
product
= 商店商品箱(例如:WooCommerce) - 🎬
movie
= 电影信息箱(自定义CPT)
网站管理员或开发者是否会有疑问,是否可以定义其他目的的文章类型呢?可以定义为其他目的使用的文章类型,这就是’自定义文章类型(CPT)’。
什么是自定义文章类型
为什么需要?(Why)
基本的WordPress提供了文章(Post)
和页面(Page)
两种类型的内容。但是在以下情况下,这些类型是不够的:
- 当想处理产品、作品集、活动、评论、电影、课程等内容时
- 当每种内容类型需要独特的字段、设计、管理方式时
- 当想要将特定内容分开管理、分类、输出时
📌 示例:
- 电影评论网站 → 创建电影(Movie)CPT,演员(Actor)CPT
- 教育平台 → 课程(Lesson)CPT,讲师(Teacher)CPT
- 公司网站 → 作品集(Portfolio),项目(Project)
谁在使用?(Who)
- 网页开发者或网页代理商
- 需要WordPress定制的设计师
- 希望细分内容的市场营销团队
- 希望创建功能中心网站的初创企业或公司
什么时候使用?(When)
- 当网站需要多种内容类型时
- 当每个内容都需要自定义字段、模板、分类标准时
- 在与REST API、自定义管理界面等集成时创建专业功能时
- 在使用Elementor、JetEngine、ACF等创建高级网站时
如何定义
网页开发者可以通过多种方式定义。CPT使用WordPress用于数据存储的数据库结构,只需在wp_posts表的post_type字段中记录值(如’page’、’post’、’attachment’等)即可。
通常使用良好的插件即可。COOSS.NET使用Crocoblock的JetEngine轻松定义自定义文章类型。
例如,在我们COOSS.NET中,将“关于币的AI交易意见”定义为名为’buysell-coin’的单独文章类型。[ BTC AI交易 – 2025-03-28 买入/卖出/持有决定理由 ]的目的在于以不同于普通文章的形式展示,并且指定为单独的文章类型以便于管理。
以下是JetEngine中定义CPT的对话框。

理解JetEngine的文章类型设置
在这篇文章中,我们将深入了解在设置自定义文章类型(CPT)时,“注册查询变量”和“重写”设置。

什么是注册查询变量?
注册查询变量与WordPress的内部查询系统相连接。通过URL查询字符串中的特定变量,可以识别或过滤文章类型。
当此选项启用时,可以通过URL请求查询CPT。
例如,可以通过在?后面添加变量值(查询变量)来显示以下地址格式的文章。
https://example.com/?your_post_type_slug=post_slug
以COOSS.NET页面为例,以下地址格式也会正常工作。(请点击查看)。
https://cooss.net/?buysell-coin=btc-25-03-28-02-00
JetEngine设置中的注册查询变量
启用时的影响
启用注册查询变量后:
- 内部查询系统会在地址栏识别该文章类型。
- 因此,可以使用URL参数进行直接查询或使用WP_Query进行访问。
可以用PHP代码如下调用,
$query = new WP_Query( [
'my_custom_post_type' => 'post_slug'
] );
在地址栏中,可以通过以下地址显示该文章。
https://cooss.net/?buysell-coin=btc-25-03-28-02-00
禁用时的影响
如果禁用,将无法使用该文章类型的查询变量,因此无法通过URL或WP_Query进行直接查询。通常,如果CPT只能通过REST API访问,则可能不需要注册query_var。
什么是重写设置?
重写选项用于生成易于记忆的URL形式。通过此选项,提供对搜索引擎和用户友好的URL结构。
例如,启用重写设置后,可以通过以下路径访问。
https://domain.com/post_type_slug/post_slug
重写设置的必要性
如果没有重写设置,基本上只能使用`https://domain.com/?post_type=post_type_slug&p=post_id`这样的URL,这在搜索引擎优化方面是不利的。
在COOSS.NET中,最初没有启用此选项。然而,当查看搜索引擎索引的页面时,发现搜索引擎记录为’https://domain.com/post_type_slug/post_slug’。但是,当点击此地址时,WordPress无法识别该地址,显示为不存在的页面错误消息。现在,通过启用重写设置,查询形式的地址和搜索引擎索引的地址都能正常输出页面。
两种设置的综合利用
在确认搜索引擎索引方式的错误后,理解如何组合每个设置也是必要的,因此我决定整理一下。
概念总结
注册查询变量
: 允许以/?post_type_slug=slug-name
格式的查询字符串访问重写
: 允许以/post_type_slug/slug-name
格式的永久链接(URL重写)
设置组合(查询变量 + 重写)
- 启用 + 启用 : 查询方式 + 支持层级永久链接 (适合大多数公开CPT)
- 禁用 + 启用 :
查询方式+ 支持层级永久链接 (适合公开网站) - 启用 + 禁用 : 查询方式 +
不支持层级永久链接(用于开发、测试的CPT) - 禁用 + 禁用 :
查询方式 + 不支持层级永久链接(用于管理员、系统内部的CPT)
可以参考此表,根据各自网站的需求调整设置。
根据情况的推荐(查询变量 + 重写)
✅ 1. 博客、作品集、商品、公告等公开内容
- 启用 + 启用
- 用户友好的URL + 灵活的查询访问 → 搜索引擎索引自然运作
https://yourdomain.com/portfolio/my-design
https://yourdomain.com/?portfolio=my-design
✅ 2. 仅供管理员存储的CPT
- 禁用 + 禁用
- 用于存储系统日志、内部API结果的CPT等
- 阻止外部访问
- 仅用于REST API或后端
✅ 3. 仅供REST API使用的CPT
- 禁用 + 根据情况选择
- 如果仅用于REST,防止不必要的路径公开
总之,大多数一般公开的CPT设置为两者启用是最灵活和安全的,而内部专用或仅用于API的CPT则根据目的禁用以防止不必要的曝光,从安全和性能上看更好。
注意事项
在设置为重写启用后,需要在永久链接设置页面中点击一次“保存更改”,而不更改任何内容。
此设置在JetEngine中指定,但重写规则的应用遵循WordPress管理,因此只有在此之后重写规则才会注册到WordPress中。
[注册查询变量] : 通过WordPress URL的查询字符串中的特定变量识别文章类型的功能。
[重写] : 以用户友好的形式更改URL结构的功能。
[404错误] : 请求的页面不存在时发生的错误消息。
[Google搜索控制台] : 监控网站性能和索引状态的Google工具。