نویسنده: مستر نارگیل تاریخ انتشار: ۱۴۰۵/۰۵/۲۸

فرض کنید مدیر فروشگاهی با بیش از هزار محصول هستید و میخواهید قیمت تمام محصولات را 10٪ زیاد کنید، قطعا بروزرسانی تک تک محصولات کار عاقلانه‌ای نیست.
در این مقاله یک پلاگین رایگان برای اینکار معرفی میکنیم همینطور نشان میدهیم که چطور با یک قطعه کد سفارشی میتوان قیمت تمام محصولات را آپدیت کرد.

بروز رسانی گروهی قیمت محصولات با افزونه

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

Woocommerce bulk price updater plugin

در داشبورد وردپرس، از منوی ووکامرس گزینه ویرایش گروهی قیمت‌ها را انتخاب کنید.

بهترین افزونه آپدیت گروهی قیمت‌های فروشگاه

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

فیلترهای محصول:

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

تنظیمات به‌روز رسانی قیمت:

به‌روز رسانی قیمت به سه صورت انجام می‌شود:

  • وارد کردن قیمت جدید
  • افزایش یا کاهش قیمت با مبلغ ثابت
  • تغییر درصدی قیمت‌ها (با قابلیت روند کردن)
  • تغییر موجودی کالا (موجود، ناموجود، بدون تغییر)

پس از انجام تنظیمات قیمت روی دکمه شروع به‌روز رسانی قیمت کلیک کنید تا پروسه آپدیت قیمت آغاز شود.
به صورت پیش‌فرض محصولات در دسته‌های ۵۰ تایی به‌روز رسانی می‌شوند، اگر از هاست ضعیفی استفاده می‌کنید گزینه صرفه‌جویی در منابع را فعال کنید تا به‌روز رسانی با سرعت کمتری انجام شود و به هاستتان فشاری وارد نشود.

با ورژن رایگان این افزونه می‌توانید قیمت ۱۰۰ محصول را بروز رسانی کنید، برای محصولات بیشتر باید ورژن پریمیوم این افزونه را خریداری کنید.

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

کد زیر را در وب‌سایت خود قرار دهید.

/* Changing the price of WordPress products dynamically by redpishi.com */
function filtering_product_prices( $price, $product ) {
$price = (float)$price;
$new_price = $price * 1 ;	// New price formula
    
// فرمول تغییر قیمت را اینجا وارد کنید

return ceil($new_price);
}

add_filter('woocommerce_product_get_price', 'custom_price', 90, 2 );
add_filter('woocommerce_product_get_regular_price', 'custom_price', 90, 2 );
add_filter('woocommerce_product_variation_get_regular_price', 'custom_price', 99, 2 );
add_filter('woocommerce_product_variation_get_price', 'custom_price' , 99, 2 );
add_filter('woocommerce_variation_prices_price', 'custom_variation_price', 99, 3 );
add_filter('woocommerce_variation_prices_regular_price', 'custom_variation_price', 99, 3 );
function custom_price( $price, $product ) {
    wc_delete_product_transients($product->get_id());
    return filtering_product_prices( $price, $product );
}
function custom_variation_price( $price, $variation, $product ) {    
    wc_delete_product_transients($variation->get_id());
    return filtering_product_prices( $price, $product );	
}

با استفاده از کد بالا می‌توانید قیمت محصولات ساده و متغیر سایت خود را بروز رسانی کنید.
برای اینکار کافی است فرمول مورد نظر خود را در قسمت مشخص شده از کد بنویسید. برای روشن شدن نحوه نوشتن فرمول چند مثال می‌زنیم:

فرمول افزایش ۱۰٪ قیمت تمام محصولات ساده و متغیر
$new_price = $price * 1.2;
فرمول کاهش 50 هزار تومانی تمام محصولات ساده و متغیر
$new_price = $price - 50000;
بروز رسانی قیمت محصولات یک کتگوری

فرض کنید می‌خواهیم قیمت تمام کلاه‌ها را 30 هزار تومان افزایش دهیم. برای اینکار ابتدا slug این کتگوری را از قسمت محصولات و دسته‌بندی‌ها بدست آورید و در فرمول زیر قرار دهید.
در مورد من slug کتگوری کلاه hats است.

if (has_term( 'hats', 'product_cat' )) {   
return ceil((float)$price + 30000);  
}
بروز رسانی قیمت محصولات گرانتر از 1 میلیون تومان

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

if ( $price < 1000000 ) {  
return $price + 100000;  
}

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

  • بروز رسانی قیمت محصولات بدون نیاز به خرید و نصب افزونه اضافی
  • امکان استفاده از شروط مختلف در قیمت‌گذاری
  • این کد دیتابس شما را تغییر نمی‌دهد و پس از حذف قیمت‌ها به صورت قبل برمی‌گردند
  • پیچیدگی نصب برای ادمین‌های تازه‌کار