شما اینجا هستید : پنگاش وبلاگ آموزش ووکامرس محدوده قیمت دسته بندی محصولات ووکامرس

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

آموزش ووکامرس admin 3 A+A- 2022/03/26

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

در هر فروشگاه یا مغازه ای محصولات متفاوتی با قیمت های گوناگون یافت می شود در دسته بندی یک محصول ووکامرسی نیز چنین  بوده و حتی در محصولات متغیر 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 ) . ')';
}

 

اشتراک در شبکه های اجتماعی

شما می توانید مطلب فوق را در هر کدام از شبکه های زیر به اشتراک بگذارید

مطالب مرتبط

پیشنهادات مدیر

کلیه حقوق برای وب سایت پنگاش محفوظ و هر گونه کپی برداری پیگرد قانونی دارد.

صفحه اصلی | انجمن گفتگو | فروشگاه | ناحیه کاربری | قالب های پنگاش | تماس با ما

qrcode
پشتیبانی
شماره تماس

شماره تماس

09126946237

بارکد
بارکد
برو بالا
LiveZilla Live Chat Software
Supportscreen tag