Wordpress的多规格商品设计

先在 Products 新增通用属性。例如颜色,红、蓝、绿,尺寸,大、中、小。
http://img2.58codes.com/2024/20055861guoDTLd0Kv.png

下图是 terms 资料表
http://img2.58codes.com/2024/20055861b5AkMhqJ7Y.png

新增一个商品
http://img2.58codes.com/2024/20055861fRSXSt3OuY.png

商品页的下半部把 Attributes 都拉进来
http://img2.58codes.com/2024/2005586161wCqcODiH.png

http://img2.58codes.com/2024/20055861cAEOJ7o6Iq.png

从网址可以看到,现在这个商品代号是 34

下图,原本35-43 那些记录是没有的。但是如图所示,按下 Go 之后,它会自动产生每一种组合。每一个编号都是一笔商品。
http://img2.58codes.com/2024/200558617Z9ZeJv5Jt.png

下图是 posts 资料表
http://img2.58codes.com/2024/20055861u29nP55HgQ.png
右边 post_name 栏位,使用线上解码查出,就是主商品的 post_title。难道 post_name 就是 url 字串,俗称的 slug ?

回到 All Products 可以看到,这系列的商品只显示一个。但是资料表确实产生了多件变种商品。
http://img2.58codes.com/2024/20055861KmLK9i9Gwh.png

回到该项主商品的编辑页 > Variations, 图中的黑手区域,点击之后可以展开收合该项变种的设定
http://img2.58codes.com/2024/20055861nhANyH7RMM.png

展开后,可以设定标準价格 Regular price, 优惠价 Sale price... 等等
http://img2.58codes.com/2024/20055861paL7YnPoyC.png

下图是 postmeta 资料表
http://img2.58codes.com/2024/20055861oFM8FT5H9j.png

其中 meta_id=183, post_id 这笔商品的 postmeta 记录,内容如下

a:2:{s:8:"pa_color";a:6:{s:4:"name";s:8:"pa_color";s:5:"value";s:0:"";s:8:"position";i:0;s:10:"is_visible";i:1;s:12:"is_variation";i:1;s:11:"is_taxonomy";i:1;}s:7:"pa_size";a:6:{s:4:"name";s:7:"pa_size";s:5:"value";s:0:"";s:8:"position";i:1;s:10:"is_visible";i:1;s:12:"is_variation";i:1;s:11:"is_taxonomy";i:1;}}

pa_color 其中的 pa, 我猜是 product attribute 的缩写

而 meta_value 这一栏的型态,是 longtext
http://img2.58codes.com/2024/20055861mM7cRxpDqI.png

也就是说,wordpress 根本不管什么栏位的优化,像是 用 char 好还是 varchar好?用 varchar 要开多长的宽度?要用 decimal 还是 float 还是 double ?? 反正通通都是 longtext。

我好奇。我之前待过某家公司,料件有两万件。它的网站系统跑起来有点慢。若照 wordpress 这种做法,postmeta 会是好几倍,超过 20 倍算是基本的。

下图把商品代号 35 全抓出来,共21笔。所以两万笔料件 x 21,那就是 42 万笔记录。效率?可能它有快取,目前还不了解它的程式码。
http://img2.58codes.com/2024/20055861RPp30RNFDV.png


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章