إضافة حالات مخزون جديدة في ووكوميرس كحالات نفاد المخزون
تعد إدارة المخزون من أهم الجوانب التي تحتاج إلى اهتمام بالغ في أي متجر إلكتروني يعتمد على ووردبريس وWooCommerce. فقد تكون لديك منتجات لا تتوافر في المخزون حالياً، ولكن تستخدم حالات مخزون جديدة مثل "متوفر قريباً" و"متاح في المتجر فقط" للتواصل مع العملاء. في هذا المقال، سنتناول كيفية إضافة حالات مخزون جديدة في WooCommerce تعمل مثل حالة "غير متوفر" ليصبح لدينا مرونة أكبر في إدارة المخزون والتواصل مع العملاء.
إضافة حالات المخزون الجديدة في WooCommerce
لإضافة حالات مخزون جديدة لمتجر WooCommerce، يمكنك استخدام الفلتر woocommerce_product_stock_status_options
. يتم ذلك عن طريق إضافة كود بسيط إلى ملف functions.php
في قالب الطفل الخاص بك أو عبر إضافة مخصصة. يسمح لك هذا الكود بتعريف حالات جديدة مثل "متوفر قريباً" و"متاح في المتجر فقط".
add_filter( 'woocommerce_product_stock_status_options', 'filter_woocommerce_product_stock_status_options', 10, 1 );
function filter_woocommerce_product_stock_status_options( $status ) {
$status['available_soon'] = __( 'متوفر قريباً', 'woocommerce' );
$status['in_store_only'] = __( 'متاح في المتجر فقط', 'woocommerce' );
return $status;
}
تحديد حالة المخزون
بعد إضافة حالات المخزون الجديدة، قد تحتاج إلى تحديث طريقة عرض المخزون لتظل واضحة للعملاء. يمكنك فعل ذلك باستخدام الفلتر woocommerce_get_availability
. هذا الفلتر يساعدك في تقديم معلومات دقيقة عن حالة الإنتاج المختلفة.
add_filter( 'woocommerce_get_availability', 'filter_woocommerce_get_availability', 10, 2 );
function filter_woocommerce_get_availability( $availability, $product ) {
switch( $product->get_stock_status() ) {
case 'available_soon':
$availability['availability'] = __( 'متوفر قريباً', 'woocommerce' );
$availability['class'] = 'out-of-stock';
break;
case 'in_store_only':
$availability['availability'] = __( 'متاح في المتجر فقط', 'woocommerce' );
$availability['class'] = 'out-of-stock';
break;
}
return $availability;
}
عرض حالة المخزون في لوحة التحكم
إذا كنت تبيع منتجات متغيرة، فقد ترغب في تمييز حالة المخزون في لوحة التحكم. يمكنك استخدام الفلتر woocommerce_admin_stock_html
لتحديث عرض المخزون. الكود التالي يقوم بحساب الحالات المتنوعة ويوضح حالة المخزون بشكل أكثر دقة:
add_filter( 'woocommerce_admin_stock_html', 'filter_woocommerce_admin_stock_html', 10, 2 );
function filter_woocommerce_admin_stock_html( $stock_html, $product ) {
if ( $product->is_type( 'variable' ) ) {
$available_soon = $in_store_only = $other_statuses = 0;
foreach( $product->get_available_variations('objects') as $variation ) {
$_stock_status = $variation->get_stock_status();
if ( $_stock_status === 'available_soon' ) {
$available_soon++;
} elseif ( $_stock_status === 'in_store_only' ) {
$in_store_only++;
} else {
$other_statuses++;
}
}
if ( $available_soon > 0 && $in_store_only === 0 && $other_statuses === 0 ) {
$stock_status="available_soon";
} elseif ( $available_soon === 0 && $in_store_only > 0 && $other_statuses === 0 ) {
$stock_status="in_store_only";
} else {
$stock_status = $product->get_stock_status();
}
} else {
$stock_status = $product->get_stock_status();
}
switch( $stock_status ) {
case 'available_soon':
$stock_html="" . __( 'متوفر قريباً', 'woocommerce' ) . '';
break;
case 'in_store_only':
$stock_html="" . __( 'متاح في المتجر فقط', 'woocommerce' ) . '';
break;
}
return $stock_html;
}
ختاماً
إضافة حالات جديدة لمخزون المنتجات في WooCommerce يمنحك المزيد من المرونة ويتيح لك إدارة متجر الإنترنت بشكل أفضل. من خلال استخدام الفلاتر المذكورة، يمكنك إنشاء حالات خاصة تتناسب مع احتياجاتك واحتياجات عملائك. ستساعد هذه الإجراءات في تحسين تجربة التسوق لدى العملاء، مما يؤدي بدوره إلى زيادة رضاهم وإقبالهم على متجرك.
اليوم، لديك الأدوات اللازمة لتوفير تجربة تسوق مميزة وفريدة من نوعها. استمتع بتوفير منتجاتك وراحة زبائنك من خلال إدارة المخزون بذكاء.