تقویم محتوا
امتیاز :
4/5

چگونه فقط بیشترین قیمت محصول متغیر را در ووکامرس نمایش دهیم؟

مشکل چیه؟

هنگامی که ما محصول متغیری در ووکامرس و در سایت خودمون تعریف می‌کنیم، قیمت اون در زیر باکس محصول و یا در صفحه محصول بصورت (کمترین قیمت – بیشترین قیمت) نمایش داده می‌شود که این شکل نمایش شاید مطلوب شما نباشد و اصلا موجب سردرگمی خریدار و یا حتی انصراف مشتری از خرید شود. شاید این مطلوب ما نباشد که کمترین و بیشترین قیمت محصول در نگاه اول به مشتری نمایش داده شود و بخواهیم فقط در ابتدا و نگاه نخست به باکس یا صفحه محصول، مشتری بیشترین قیمت محصول متغیر را ببیند.

راه حل چیه؟

در زیر کدی برای تغییر این سبک نمایش قرار داده شده است که این کد باعث می‌شود که قیمت درج شده زیر باکس محصول و در صفحه محصول از سبک (کمترین قیمت محصول – بیشترین قیمت محصول) به سبک (بیشترین قیمت محصول) تغییر کنید و بطور کلی فقط بیشترین قیمت آن محصول در صفحه محصول و باکس محصول نمایش داده شود.

مثلا فرض کنید که شما یک صفحه محصول تعریف کرده‌اید که در آن هم خود کتاب را به عنوان یک محصول فیزیکی و هم نسخه صوتی آن را به عنوان یک محصول دانلودی و هم ترکیب آنها را به فروش می‌رسانید. شما برای تعریف چنین صفحه محصولی از تنظیمات ووکامرس محصول متغیر را انتخاب می‌کنید. پس از تعریف این محصولات در یک صفحه چون شما تنظیمات محصول متغیر ووکامرس را انتخاب کرده‌اید در صفحه محصول و همچنین باکس محصول قیمت محصول بصورت 2 قیمتی نمایش داده می‌شود. یکی از این قیمت ها مربوط به کمترین قیمت محصول شماست (که ممکن است نسخه صوتی کتاب باشد) و دیگری بیشترین قیمت محصول متغیر (که ممکن است متعلق به ترکیب نسخه چاپی و صوتی کتاب باشد) می‌باشد. در این حالت نمایش قیمت این کتاب بصورت 2 قیمتی شاید حرفه ای نباشد و ما بخواهیم مشتری در نگاه اول فقط بیشترین قیمت محصول متغیر را ببیند.

برای اعمال این تغییر در سایت خود تنها کافی است که کد PHP زیر را کپی کرده و در سند functions.php قالبتون (یا اگر از چایلد تم استفاده می‌کنید در سند functions.php چایلد تم قالب سایتتون) قرار دهید تا این تغییر بر روی تمامی محصولات متغیر شما اعمال شود.

کد PHP نمایش "بیشترین قیمت محصول متغیر ووکامرس"

				
					add_filter( 'woocommerce_variable_sale_price_html', 'con_show_max_variation_price_only', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'con_show_max_variation_price_only', 10, 2 );
 
function con_show_max_variation_price_only( $price, $product ) {
 
// Main Variation Price
$prices = array( $product->get_variation_price( 'max', true ), $product->get_variation_price( 'min', true ) );

$price = $prices[0] !== $prices[1] ? sprintf( __( '%1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] );
 
// Sale Variation Price
$prices = array( $product->get_variation_regular_price( 'max', true ), $product->get_variation_regular_price( 'min', true ) );
sort( $prices );

$saleprice = $prices[0] !== $prices[1] ? sprintf( __( '%1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] );

//Output
if ( $price !== $saleprice ) {
	
	$price = '<span style="display:none;">' . $saleprice . '</span> <ins>' . $price . '</ins>';
	
	}
	
	return $price;

}
				
			
به این مقاله امتیاز دهید
(برحسب میزان رضایت خود از محتوای این مقاله، به آن از 1 تا 5 ستاره دهید)

امتیاز 4.00 از 1 رای

اشتراک در
اطلاع‌رسانی به من هنگامی که :
guest

2 دیدگاه
بازخورد (Feedback) های اینلاین
دیدن تمامی دیدگاه‌ها
ورود | ثبت نام
شماره موبایل خود را وارد کنید.
برگشت
کد تایید را وارد کنید
کد تایید برای شماره موبایل شما ارسال گردید
ارسال مجدد کد تا دیگر
برگشت
رمز عبور را وارد کنید
رمز عبور حساب کاربری خود را وارد کنید
برگشت
رمز عبور را وارد کنید
رمز عبور حساب کاربری خود را وارد کنید
برگشت
درخواست بازیابی رمز عبور
لطفاً ایمیل یا شماره موبایل خود را وارد کنید
برگشت
کد تایید را وارد کنید
کد تایید برای شماره موبایل شما ارسال گردید
ارسال مجدد کد تا دیگر
ایمیل بازیابی ارسال شد!
لطفاً به صندوق الکترونیکی خود مراجعه کرده و بر روی لینک ارسال شده کلیک نمایید.
تغییر رمز عبور
یک رمز عبور برای اکانت خود تنظیم کنید
تغییر رمز با موفقیت انجام شد