WP笔记

如何在WordPress主题中使用webpack

webpack是一款打包工具,可以将一些重复劳动自动化,比如css、js压缩打包,给css的属性添加浏览器前缀,即css vendor prefixes,还可以在css、js文件发生变化时帮我们自动刷新页面,或者允许其它设备访问本地的项目,总之很方便。本文就介绍一个简单的WordPress主题里配置webpack的方法。

继续阅读如何在WordPress主题中使用webpack
WP笔记

WordPress菜单添加SVG图标

svg图标清晰度高,代码可以直接放在网页上使用,不但能随意控制hover效果,还可以做动画,可谓好处多多。今天要介绍的是如何给WordPress的菜单项目添加svg图标,要直接插入svg代码,不是使用图片或背景,也不是使用类似fontawesome那样的字体图标。

继续阅读WordPress菜单添加SVG图标
WooCommerce

Windows本地安装和使用Elasticsearch

Elasticsearch是一款开源的数据搜索引擎和数据分析引擎,不同于WordPress的搜索,它是noSQL搜索引擎,没有数据库数据表,而是将数据以JSON格式存储在文件里,搜索效率远高于WordPress基于SQL的搜索方式,特别适合大型WooCommerce电商网站,或者做搜索推荐关键词的功能。想了解它,最好的方法是本地安装一个,自己动手试一试。

继续阅读Windows本地安装和使用Elasticsearch
WP笔记

WordPress的瞬态缓存和对象缓存

WordPress原生缓存机制主要有两种:瞬态缓存和对象缓存。两者主要区别是生存时间和存储位置不同,瞬态缓存活在一段时间内,这段时间任何一次页面请求都可以使用,存储在数据库中。对象缓存只生存在一次页面请求中,下一次请求就访问不到了,存储在内存中。但两者也不是界限分明的,当WordPress安装了高级缓存,瞬态缓存可以搬到内存里住,对象缓存也能在多次请求中重复使用。下面来详细介绍一下。

继续阅读WordPress的瞬态缓存和对象缓存
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后台通过自定义字段检索产品
WooCommerce

WooCommerce自定义订单号

WooCommerce默认使用post ID作为订单号,post可以是订单,也可以是产品、页面、文章或其它的custom post type,所以这个ID是不连续的,人们并不能简单的通过订单号去猜测你网站的销量。但这也给商店管理者带来一定困扰,拿到一个订单号,却无法知道是什么时候的订单,是哪个商店的订单。所以要给订单号加前缀,前缀里带上具体时间和一个序号,就能解决这个问题。

继续阅读WooCommerce自定义订单号