• Всем привет.

    Помогите, народ.
    Не работает сортировка.
    Сортировка работает только после перезагрузки страницы.

    add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_woocommerce_get_catalog_ordering_args' );
    
    function custom_woocommerce_get_catalog_ordering_args( $args ) {
    
      global $product , $woocommerce;
    
      $orderby_value = isset( $_GET['orderby'] ) ? wc_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
    
      if ( 'power_up' == $orderby_value ) {
    
        $args['orderby'] = 'meta_value';
        $args['order'] = 'ASC';
        $args['meta_key'] = 'power_product';
      }
      elseif('power_down' == $orderby_value){
        $args['orderby'] = 'meta_value';
        $args['order'] = 'DESC';
        $args['meta_key'] = 'power_product';
      }
      return $args;
    }
    
    add_filter( 'woocommerce_default_catalog_orderby_options', 'second_woocommerce_catalog_orderby' );
    add_filter( 'woocommerce_catalog_orderby', 'second_woocommerce_catalog_orderby' );
    
    function second_woocommerce_catalog_orderby( $sortby ) {
      $sortby['power_up'] = 'По возростанию мощности';
      $sortby['power_down'] = 'По убыванию мощности';
      return $sortby;
    }

    meta_key в данном случае это поле ACF.

  • Тема «Не работает сортировка Woocommerce?» закрыта для новых ответов.