欢迎光临
我们一直在努力

移除WooCommerce默认排序方式选项

WooCommerce为我们提供了一些商品排序方式选项,其中有些非常好用,比如按价格排序,按日期排序,按热度排序等,可是也有一些我们用不上的排序方式,比如可能网站中没有使用评分系统,所有按评分排序的选项是没有用的,为了避免用户给用户造成困扰,我们有必要把这个选项去掉。

去掉前台排序选项中的某个排序方式

#从商店模板中移除 "默认排序"
function wizhi_remove_default_sorting_option( $catalog_orderby_options ) {
    unset( $catalog_orderby_options['rating'] );
    return $catalog_orderby_options;
}
add_filter( 'woocommerce_catalog_orderby', 'wizhi_remove_default_sorting_option' );

从WooCommerce与排序有关的源码文件中可以找到默认的排序方式如下:

#WooCommerce默认排序方式
array(
    'menu_order' => __( 'Default sorting', 'woocommerce' ),
    'popularity' => __( 'Sort by popularity', 'woocommerce' ),
    'rating'     => __( 'Sort by average rating', 'woocommerce' ),
    'date'       => __( 'Sort by newness', 'woocommerce' ),
    'price'      => __( 'Sort by price: low to high', 'woocommerce' ),
    'price-desc' => __( 'Sort by price: high to low', 'woocommerce' )
)

想去掉哪个,就 unset 掉哪个,完成了这一步,前台商品排序中的按评分排序就去掉了。可是后台设置默认排序选项的地方还是有按评分排序的选项,我们也需要把这个选项值去掉。

去掉后台默认排序选项设置中的某个排序方式

#移除后台设置中的按评分过滤选项
function wizhi_remove_default_sorting_from_settings( $options ) {
    unset( $options['menu_order'] );
    return $options;
}
add_filter( 'woocommerce_default_catalog_orderby_options', 'wizhi_remove_default_sorting_from_settings' );

做完了这一步,按评分排序的选项就彻底没有了,当然,除了移除排序选项,我们还可以添加选项,不过这是另外一篇文章的事情了。

赞(0)
未经允许不得转载:玄武新动力 » 移除WooCommerce默认排序方式选项
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址