首页 > 解决方案 > Woocommerce 自定义排序选项 - 按元排序

问题描述

我在 Woocommerce 中按元数据排序有一点问题。根据文档,有一个代码允许这样做。我已经为每个产品存储了元数据,现在应该按升序或降序排序。不幸的是,这不起作用。

https://docs.woocommerce.com/document/custom-sorting-options-ascdesc/#

我的代码:

/**
 * Add custom sorting options (asc/desc)
 */
add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_woocommerce_get_catalog_ordering_args' );
function custom_woocommerce_get_catalog_ordering_args( $args ) {
  $orderby_value = isset( $_GET['orderby'] ) ? wc_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
    if ( 'diameter' == $orderby_value ) {
        $args['orderby'] = 'meta_value_num';
        $args['order'] = 'asc';
        $args['meta_key'] = 'Gehausedurchmesser';
    }
    return $args;
}
add_filter( 'woocommerce_default_catalog_orderby_options', 'custom_woocommerce_catalog_orderby' );
add_filter( 'woocommerce_catalog_orderby', 'custom_woocommerce_catalog_orderby' );
function custom_woocommerce_catalog_orderby( $sortby ) {
    $sortby['diameter'] = 'Gehäusedurchmesser: Aufsteigend';
    return $sortby;
}

产品元数据:https ://ibb.co/0mBVNbM

有谁知道错误可能在哪里?我也试过这个片段。也没有成功。 https://www.skyverge.com/blog/sort-woocommerce-products-custom-fields/

谢谢您最好的问候

标签: wordpresssortingwoocommercefilter

解决方案


推荐阅读