移除 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' );

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

资源分享 本站提供不断更新优质资源,敬请收藏关注
玄武新动力 » 移除 WooCommerce 默认排序方式选项

提供最优质的资源集合

立即查看 了解详情