در ووکامرس زمانی که یک محصول متغیر با ویژگیهای متفاوت تعریف میشود که هر ویژگی آن محصول قیمت متفاوتی دارد، قیمت محصول به مشتری در جلوی سایت بصورت دوقیمتی (کمینه – بیشینه) نشان داده میشود. این شیوه نمایش مطلوب بسیاری از صاحبین سایتهای فروشگاهی، آموزشی و خدماتی و … نیست چون باعث سردرگمی و انصراف مشتری از انتخاب و خرید میشود. در این مقاله میآموزیم که چگونه تنها بیشترین قیمت محصول متغیر ووکامرس را به مشتری در جلوی سایت نمایش دهیم.
هنگامی که ما محصول متغیری در ووکامرس و در سایت وردپرسی خودمون تعریف میکنیم، قیمت اون در باکس محصول، صفحه محصول و صفحات فروشگاه و آرشیو محصولات بصورت (کمترین قیمت – بیشترین قیمت) نمایش داده میشود که این شکل نمایش شاید مطلوب شما نباشد و اصلا موجب سردرگمی خریدار و یا حتی انصراف مشتری از خرید شود. شاید این مطلوب ما نباشد که کمترین و بیشترین قیمت محصول در نگاه اول به مشتری نمایش داده شود و بخواهیم فقط در ابتدا و نگاه نخست به باکس یا صفحه محصول، مشتری بیشترین قیمت محصول متغیر ما را ببیند.
مثلا فرض کنید که شما یک صفحه محصول تعریف کردهاید که در آن هم خود کتاب را به عنوان یک محصول فیزیکی و هم نسخه صوتی آن را به عنوان یک محصول دانلودی و هم ترکیب آنها را به فروش میرسانید. شما برای تعریف چنین صفحه محصولی از تنظیمات ووکامرس محصول متغیر را انتخاب میکنید. پس از تعریف این محصولات در یک صفحه چون شما تنظیمات محصول متغیر ووکامرس را انتخاب کردهاید در صفحه محصول و همچنین باکس محصول قیمت محصول بصورت ۲ قیمتی نمایش داده میشود. یکی از این قیمت ها مربوط به کمترین قیمت محصول شماست (که ممکن است نسخه صوتی کتاب باشد) و دیگری بیشترین قیمت محصول متغیر (که ممکن است متعلق به ترکیب نسخه چاپی و صوتی کتاب باشد) میباشد. در این حالت نمایش قیمت این کتاب بصورت ۲ قیمتی شاید حرفه ای نباشد و ما بخواهیم مشتری در نگاه اول فقط بیشترین قیمت محصول متغیر را ببیند.
چطور بیشترین قیمت محصول متغیر را در ووکامرس نمایش دهیم
ما در این مقاله به دو روش به شما آموزش میدهیم که چگونه فقط بیشترین قیمت محصول متغیر را در ووکامرس نمایش دهید:
(توجه داشته باشید که با اعمال هر کدام یک از دو روش گفته شده، تغییرات نمایش قیمت بر روی تمامی محصولات متغیر رخ میدهد و فقط محدود به یک محصول خاص و مد نظر شما نیست)
۱. نمایش بیشترین قیمت محصول متغییر در ووکامرس با کد PHP
در زیر یک کد PHP برای تغییر این سبک نمایش قرار داده شده است که این کد باعث میشود که قیمت درج شده زیر باکس محصول و در صفحه محصول و فروشگاه و صفحات آرشیو محصولات از سبک (کمترین قیمت محصول – بیشترین قیمت محصول) به سبک (بیشترین قیمت محصول) تغییر کنید و بطور کلی فقط بیشترین قیمت آن محصول در صفحه محصول و باکس محصول نمایش داده شود.
برای اعمال این تغییر در سایت خود تنها کافی است که کد PHP زیر را کپی کرده و در سند functions.php قالبتان (یا اگر از چایلد تم استفاده میکنید در سند functions.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;
}
۲. نمایش بالاترین قیمت محصول متغییر در ووکامرس با افزونه وردپرس
برای نمایش بیشترین قیمت محصول متغیر در ووکامرس میتوانید به جای استفاده از کد، از افزونه استفاده کنید. برای این کار یکی از افزونههای خوب حال حاضر که به رایگان در مخزن وردپرس وجود دارد، افزونه Variation Price Display For WooCommerce است.
این افزونه به شما اجازه میدهد تا به آسانی فقط بیشترین قیمت محصول متغیر را نمایش دهید و حتی شما میتوانید عبارتی برای قبل و بعد از قیمت خود مشخص نمایید.