WooCommerce教程:添加商品列表自定义排序方式选项

2018-12-2210:21:04网站建设与开发Comments5,835 views字数 907阅读模式

WooCommerce 商品列表默认支持几种排序方式,默认的排序方式有,价格、日期、商品名称等等,有时候默认的排序选项满足不了我们的需求,我们需要添加一些自定义排序方式,让用户查找商品的时候用户体验更好。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/9009.html

WooCommerce 排序的数据依据是 WordPress 的 post meta,所以,我们要想添加自定义排序方式,首先要有可以用来排序的的 post meta,比如点赞的数量,这里我们假设已经给WooCommerce 添加了点赞功能,点赞数据保存在 WordPress 的 post meta 中,meta_key 为 “like”。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/9009.html

添加自定义排序选项到商品列表的下拉菜单中

使用下面代码,可以添加“按喜欢度排序”到 WooCommerce 的商品列表中。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/9009.html

add_filter('woocommerce_catalog_orderby', 'custom_woocommerce_catalog_orderby');

//添加新选项到 $sortby 参数
function custom_woocommerce_catalog_orderby($sortby) {
    $sortby['like'] = "按喜欢度排序";
    return $sortby;
}

到这里,我们只是添加了自定义选项到排序下拉列表,选择这个是没有用的,因为排序用的数据还没有添加上。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/9009.html

添加排序用的自定义字段数据到排序功能

add_filter('woocommerce_get_catalog_ordering_args', 'custom_catalog_ordering_args');
function custom_catalog_ordering_args($args) {
    global $wp_query;
    // 获取排序参数
    if ($_GET['orderby'] == "like") {
        $args['meta_key'] = 'like';
        $args['orderby'] = 'meta_value';
        $args['order'] = "ASC";
    }
    return $args;
}

把以上代码添加上以后,再选择“按喜欢度排序”排序,商品就按照被喜欢的次数从多到少排好序了。当然,你也可以根据你的需求,添加其他排序方式。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/9009.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/cms/9009.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定