ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] # woocommerce 主题开发 ***** ## 1. 概念 | 概念 | 说明 | | --- | --- | | 变量产品 | 允许设置不同属性和选项的产品。 | | 捆绑产品 | 将多个产品捆绑在一起销售。 | | 销售数量 | 设置产品的最低/最高购买数量。 | | 属性标签 | 指定产品属性的名称。 | | 促销价格 | woocommerce 支持折扣、活动票等方式设置产品价格。 | | 定制下载 | 为下载类产品提供自定义下载功能。 | | 自定义邮件 | 通过插件定制 woocommerce 邮件。 | | 子产品 | 允许产品有子产品的功能。 | | 用户角色 | woocommerce 定义了多种用户角色。 | | 检查付款 | 通过支付网关或其他方式完成付款。 | | 订单状态 | woocommerce 定义了多种订单状态。 | | 返回和退款 | 允许产品退换货。 | | 报表和统计 | woocommerce 支持详细的销售统计。 | ## 2, Filter 筛选过滤工具 > 通过add_filter函数过滤产品查询。重写部分属性。 ``` add_filter( 'woocommerce_product_query', 'my_product_query' ); function my_product_query( $query ) { // Only apply to the main WordPress query if ( ! $query->is_main_query() ) { return $query; } // Get current page number $paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1; // Modify the query $query->set( 'orderby', 'rand' ); $query->set( 'posts_per_page', '12' ); // Set custom query vars $query->set( 'my_custom_var', $paged ); return $query; } ``` **示例做了以下这些:** 1. 通过 woocommerce_product_query 过滤产品查询 2. 只应用到主查询上 3. 获取当前页数 4. 修改查询,设置随机排序 5. 设置每页 12 个产品 6. 设置自定义查询变量 7. 返回修改后的查询 修改产品信息 > woocommerce_product_query: 过滤产品查询结果,可以定制产品的筛选条件 > woocommerce_product_attribute_label: 修改产品属性标签 > woocommerce_get_price_html: 修改产品价格 HTML 显示 > 修改订单信息 > woocommerce_before_calculate_totals: 修改订单总额 > woocommerce_tax_totals: 修改税款金额 > woocommerce_order_item_class: 修改订单项目类 > woocommerce_order_details: 修改订单详情 修改购物车信息 > woocommerce_cart_item_class : 修改购物车项目类 修改产品页元素 > woocommerce_product_tabs: 修改产品页标签 修改账户和登录信息 > woocommerce_checkout_fields: 修改登录时要求的字段 > woocommerce_login_redirect: 修改登录重定向 URI 修改Checkout流程 > woocommerce_checkout_fields: 修改 checkout 时要求填写的字段 修改相关文本 > woocommerce_thankyou_order_received_text : 修改"您的订单已收到"相关文本 # Filter woocommerce | Filter | 说明 | |:--|:--|:--| | woocommerce\_checkout\_fields | 过滤 checkout 字段。| | woocommerce\_product\_query | 过滤产品查询结果。| | woocommerce\_product\_tabs | 过滤产品页标签。| | woocommerce\_cart\_item\_class | 过滤购物车项类。| | woocommerce\_before\_calculate\_totals | 修改订单总额之前。| | woocommerce\_tax\_totals | 过滤税款金额。| | woocommerce\_order\_item\_class | 过滤订单项目类。| | woocommerce\_order\_details | 过滤订单详情。| | woocommerce\_login\_redirect | 修改登录重定向 URI。| | woocommerce\_thankyou\_order\_received\_text| 过滤“您的订单已收到”文本。| | woocommerce\_product\_attribute\_label| 过滤产品属性标签| | woocommerce\_get\_price\_html | 过滤产品价格 HTML。|