X

جستجو


نمایش درصد تخفیف ووکامرس بدون افزونه

نمایش درصد تخفیف  ووکامرس بدون افزونه
  • اشتراک گذاری

نمایش درصد تخفیف محصولات ووکامرس بدون افزونه

اگر شما دارای یک فروشگاه اینترنتی با وردپرس و پلاگین قدرتمند ووکامرس میباشید . جهت افزایش فروش و ترغیب مشتریان خود گاهی قیمت های محصولات خود را کم کرده و اقدام به حراج نمودن کالای خود مینمایید . اگر در حال طراحی قالب ووکامرس میباشد و یا قالب شما درصد تخفیف را نمایش نمیدهد ، نگران نباشید و حتی لازم به استفاده از پلاگین خاص نمیباشد . ما در این پست قصد آموزش انجام این کار را داریم . ابتدا وارد فایل مورد نظر شوید این فایل باید دارای حلقه تکرار محصولات ووکامرس باشد . برای مثال جهت نمایش درصد تخفیف در فروشگاه و دسته بندی های ووکامرس میتوانید وارد مسیر زیر در قالب خود شوید .

public_html/wp-content/themes/YourTheme/woocommerce/archive-product.php

یافتن حلقه تکرار ووکامرس


این فایل در ووکامرس برای نمایش صفحات جستجو ، فروشگاه ، دسته بندی ها و … مورد استفاده قرار میگیرد . در این فایل قطعه کد زیر را پیدا کنید .

<?php 
 if(have_posts()) : 
     while(have_posts()) : the_post(); 
//code is here
     endwhile; 
 endif; 
?>

این حلقه تکرار در وردپرس میباشد که هم برای نمایش محصولات و هم نمایش پست ها ، مورد استفاده قرار میگیرد . شما باید قطعه کدهایی که در ادامه مبحث امده است را در این میان این حلقه قرار دهید . بخاطر داشته باشید که در میان این حلقه انواع کدهای دیگر جهت نمایش محصولات شما وجود دارد و نباید در آنها تغییری ایجاد کنید.
حال برای نمایش درصد تخفیف ابتدا در قسمت مشخص شده در صورت نبودن عبارت زیر ، متغیر زیر را وارد کنید

global $product;

بررسی محصولات تخفیف خورده

حال باید بررسی کنیم که آیا این محصول جزو محصولات تخفیف خورده شما میباشد یا خیر تا درصورت دارا بودن تخفیف بتوانیم درصد تخفیف را محاسبه و نمایش دهیم ، برای این کار از حلقه شرطی زیر استفاده میکنیم .

<?php 
if(is_on_sale() ) :    
//code is here
endif;
 ?> 

محاسبه درصد تخفیف

حال باید قیمت بدون تخفیف محصول تخفیف خورده را دریافت کنیم و آنرا به عدد تبدیل کنیم

<?php
$sale_price= number_format($product->get_sale_price()); 
$get_sale_price = str_replace(',','',$get_sale_price);
?>

در مرحله بعد قیمت تخفیف خورده محصول را دریافت کنیم و آنرا به عدد تبدیل کنیم

<?php
$regular_price = number_format($product->get_regular_price());
$regular_price = str_replace(',','',$regular_price);
?>

سپس کافیه که درصد تخفیف را محاسبه کنیم برای این کار کد زیر را قرار میدهیم

<?php
$discount = ceil( ( ($regular_price - $sale_price) / $regular_price )*100 ); 
?>

حالا تنها نیازمند آن هستیم که این عدد را نمایش دهیم ، بدین منظور کد زیر را قرار دهید و استایل مدنظرتون را به کلاس آن بدهید و تمام

<?php echo $discount.'%'; ?>

کد کامل مراحل بالا به صورت زیر میباشد.

<?php 
    if(have_posts()) : 
     while(have_posts()) : the_post(); 
        if ( $product->is_on_sale() ) :
            global $product;
            $sale_price = number_format($product->get_sale_price()); 
            $sale_price = str_replace(',','',$sale_price);
            $regular_price = number_format($product->get_regular_price());
            $regular_price = str_replace(',','',$regular_price);
            $discount = ceil( ( ($regular_price - $sale_price) / $regular_price )*100 ); 
            echo '<span class="disCount">'.$discount.'%</span>';?>
        endif; 
    endwhile; 
    endif;
?>