WooCommerce

使WooCommerce订单搜索支持自定义字段(2021)

WooCommerce的后台订单管理支持搜索功能,要扩展搜索功能,首先要明确它能搜什么,不能搜什么。要知道这个信息,读源代码是最快的方法。我们直接找到WooCommerce订单搜索的源代码——class-wc-order-data-store-cpt.php文件里的search_orders()函数,这就是搜索调用的函数。

继续阅读使WooCommerce订单搜索支持自定义字段(2021)
WooCommerce

获取WooCommerce页面地址的方法

WooCommerce的顶级页面有商店页、购物车页、结账页、我的账户页和用户协议页,结账页和账户页有次级页面,分别由结账端点和账户端点来指定,也就是endpoints。顶级页面是WordPress里真正的页面,次级页面没有实体页面,只是靠重定向规则动态创造出来的。本文介绍WooCommerce中获取这些页面地址的专用函数。

继续阅读获取WooCommerce页面地址的方法
WooCommerce

WooCommerce后台通过自定义字段检索产品

WooCommerce后台的产品检索与前台搜索略有不同。前台是在WordPress默认搜索的基础上修改,后台直接用了一套自己的逻辑,从wc_product_meta_lookup这个表里检索产品,调用函数WC_Product_Data_Store_CPT->search_products(),这个函数只有一个filter——woocommerce_product_pre_search_products,允许返回自定义结果,代价是截断了WooCommerce所有的搜索逻辑,显然不适合小修改。后台可以搜sku,但其它自定义字段就不行了,且没有任何位置可以干预。幸运的是我们还能用WordPress自带的filter – request来完成自定义字段搜索功能。

继续阅读WooCommerce后台通过自定义字段检索产品