WooCommerce 在哪里将 post_type 设置为 "product"

Where Does WooCommerce Set the post_type to "product"

WooCommerce 是一组插件和主题,当安装到 Wordpress 中时,它们会创建一个电子商务系统。这是一个关于在 Wordpress 核心中以编程方式实现 WooCommerce 功能的问题。 Wordpress Stack Exchange 明确禁止 WooCommerce 问题,并且 Wordpress 论坛似乎面向用户,而不是核心开发人员。即——Stack Overflow 似乎是提出这个问题的最佳场所,但如果有更好的场所,请告诉我。

WooCommerce 中的产品实际上是 Wordpress post,post_type 数据设置为“产品”。

当您加载 http:://woo.example.com/shop 页面并且 Wordpress 执行其 post 查找查询时,post_type 已经设置为 product

#File: wp-includes/query.php
if ( !empty($q['post_type']) && 'any' != $q['post_type'] ) {
}

WooCommerce 插件(或主题?)在哪里设置这个 post_type?我假设通过 actionfilter,但我的 Wordpress 代码跟踪技能无法胜任自己找到它的任务。

WooCommerce WC_Template_Loader class 负责在通过 pre_get_posts 挂钩在 class-wc-query.php 中设置查询参数后加载商店(即存档)模板.