محدوده قیمت دسته بندی محصولات ووکامرس

محدوده قیمت دسته بندی محصولات ووکامرس

در هر فروشگاه یا مغازه ای محصولات متفاوتی با قیمت های گوناگون یافت می شود در دسته بندی یک محصول ووکامرسی نیز چنین  بوده و حتی در محصولات متغیر WooCommerce به طور پیش فرض یک محدوده قیمت وجود دارد  که چیزی شبیه به این است: MIN-MAX یعنی کمترین قیمت نا بیشترین قیمت .

فرض کنید کاربری قصد دارد کمترین یا بیشتر قیمت یک دسته از کالا های مورد نظر خود را بداند چه باید کند ؟ آیا خوب نیست، در صفحه فروشگاه یا دسته بندی ، محدوده قیمت را برای هر دسته نشان دهیم؟

محدوده قیمت دسته بندی محصولات ووکامرس

در این تصویر به خوبی قیمت های MIN و MAX برای هر دسته محصول خاص WooCommerce  نشان داده شده است

برای این کار چه باید کنیم ؟  شما می توانید کد زیر را با استفاده از یک ویرایشگر در فایل فانکشن قالب خود قرار داده و لذت این ویژگی را به کاربران خود بدهید

add_filter( 'woocommerce_subcategory_count_html', 'pangash_category_price_range', 9999, 2 );
function pangash_category_price_range( $html, $category ) {
   $min = PHP_FLOAT_MAX;
   $max = 0.00;
   $all_ids = get_posts( array(
      'post_type' => 'product',
      'numberposts' => -1,
      'post_status' => 'publish',
      'fields' => 'ids',
      'tax_query' => array(
         'relation' => 'AND',
         array(
            'taxonomy' => 'product_cat',
            'field' => 'slug',
            'terms' => $category->slug,
         ),
         array(
            'taxonomy' => 'product_visibility',
            'field' => 'name',
            'terms' => 'exclude-from-catalog',
              'operator' => 'NOT IN',
         ),
      )
   ) );
   foreach ( $all_ids as $id ) {
      $product = wc_get_product( $id );
      if ( $product->is_type( 'simple' ) ) {
         $min = $product->get_price() < $min ? $product->get_price() : $min;
         $max = $product->get_price() > $max ? $product->get_price() : $max;
      } elseif ( $product->is_type( 'variable' ) ) {
         $prices = $product->get_variation_prices();
         $min = current( $prices['price'] ) < $min ? current( $prices['price'] ) : $min;
         $max = end( $prices['price'] ) > $max ? end( $prices['price'] ) : $max;
      } 
   }
   return ' (' . wc_format_price_range( $min, $max ) . ')';
}

 

توجه

کلیک

اگر با این مشکل آشنا هستید خودتان انجام دهید ولی اگر نمی دانید که این کار را چطور انجام دهید می توانید هم اکنون در ناحیه کاربری ثبت نام کرده و اطلاعات سایت را تیکت کنید تا با اندک هزینه ای کار شما را انجام دهیم . اگر خواستید می توانید برای مشاوره با شماره های 09179059350 و یا 07734824382 با ما در ارتباط باشید.