استعلام عن منتجات ووكومرس بالاسم والفئة باستخدام wc_get_products
مقدمة عن استعلام المنتجات في ووكوميرس
يعتبر نظام ووكوميرس واحدًا من أشهر الحلول للتجارة الإلكترونية على منصات ووردبريس، حيث يوفر ميزات متنوعة لأصحاب المتاجر. من بين هذه الميزات، القدرة على استعلام المنتجات بناءً على أسماءها وفئاتها باستخدام دالة wc_get_products()
. في هذا المقال، سنتناول كيفية استرجاع المنتجات من ووكوميرس باستخدام هذه الدالة، بالإضافة إلى بعض الأساليب البديلة التي يمكن استخدامها عند الحاجة.
استخدام دالة wc_get_products() لاسترجاع المنتجات
تعتبر دالة wc_get_products()
أداة قوية لعرض المنتجات في متجر ووكوميرس، حيث تتيح لنا تحديد المعايير التي نريدها لاسترجاع مجموعة معينة من المنتجات. على سبيل المثال، يمكننا استعلام المنتجات بحسب الاسم والفئات الخاصة بها. لكن في بعض الأحيان، قد نحتاج إلى طرق بديلة، وفي تلك الحالة، يمكننا اللجوء إلى دالة WP_Query
.
استعلام المنتجات باستخدام WP_Query
بفضل دالة WP_Query
، يمكننا بناء استعلامات مخصصة للحصول على معلومات دقيقة حسب الحاجة. لنأخذ مثالاً عن كيفية بناء دالة خاصة لاسترجاع كائنات المنتجات بالاعتماد على اسم المنتج ومعرفات الفئات.
يمكننا تعريف دالة تحمل اسم get_product_objects_from()
، والتي تأخذ اسم المنتج ومعرف الفئات كمعطيات. داخل هذه الدالة، يتم استخدام دالة get_posts()
لاستعلام المنتجات المتوافقة مع المعايير المحددة. في النهاية، سيتم تحويل معرّفات المنتجات المسترجعة إلى كائنات منتجات باستخدام دالة wc_get_product()
.
function get_product_objects_from( $name, $categories_ids ) {
global $wpdb;
$product_ids = (array) get_posts( array(
'posts_per_page' => 1, // limit
'post_type' => 'product',
'post_status' => 'publish',
'title' => $name,
'fields' => 'ids',
'tax_query' => array( array(
'taxonomy' => 'product_cat',
'field' => 'term_id',
'terms' => $categories_ids,
)),
));
return $product_ids ? array_map('wc_get_product', $product_ids) : null;
}
بمجرد أن يتم استدعاء هذه الدالة، ستحصل على كائنات المنتجات المناسبة بناءً على اسمها ومعرف الفئة، مثل:
$product_objects = get_product_objects_from( 'test', [6] );
echo ''. print_r( $product_objects, true ) . ''; // Output product objects
إصلاحات وملاحظات
بينما يمكن للدالة wc_get_products()
أن تلبي احتياجات الكثير من مستخدمي ووكوميرس، يمكن أن تظهر بعض المشاكل في بعض الاستعلامات. فإذا واجهت أي مشاكل مع دالة WC_Product_Query
، يُفضل الإبلاغ عن الخطأ حتى يتم معالجته في التحديثات المستقبلية. من الضروري أن نعلم أن ووكوميرس تعتمد على قاعدة بيانات ووردبريس ويسمح لك باسترجاع المنتجات من جدول wp_posts
، ما يسهل البحث واسترجاع البيانات بشكل فعّال.
خاتمة
باتباع الأساليب المذكورة، يمكنك تعزيز فعالية استعلامات المنتجات في متجر ووكوميرس الخاص بك. سواء اخترت استخدام دالة wc_get_products()
أو استكشاف طرق إضافية مثل WP_Query
، فإنَّ القدرة على تحديد واسترجاع المنتجات بناءً على الاسم والفئات ستمكنك من تحسين تجربة المستخدم وزيادة المبيعات. لا تتردد في توظيف هذه الأدوات والطرق المعقدة حسب حاجتك، وتذكر دائمًا أهمية اختبار الحلول المختلفة للحصول على أفضل النتائج.