تثبيت والتكوين الأساسي لـ WooCommerce
عملية تثبيت WooCommerce بسيطة نسبيًا، لكن الإعدادات الأولية الصحيحة تعد الأساس الذي يبني عليه موقع التجارة الإلكترونية المستقر. أولاً، تحتاج إلى بيئة خادم تعمل بنسخة PHP 7.4 أو أعلى، وقد تم تثبيت WordPress عليها. من خلال صفحة “الإضافات” > “تثبيت إضافة” في واجهة ووردبريس الخلفية، ابحث عن “WooCommerce” وقم بتثبيتها ثم تفعيلها. بعد التفعيل، سيبدأ النظام تلقائيًا بتشغيل “مرشد الإعدادات” الذي سيوجهك خلال خطوات إعداد المتجر الأساسية.
في دليل الإعدادات، يجب عليك إكمال الخطوات التالية تباعًا: تحديد موقع المتجر، والعملة، والوحدات المستخدمة؛ ضبط طرق الدفع (مثل PayPal أو Stripe أو التحويل البنكي)؛ تعيين قواعد حساب تكاليف الشحن (مثل الشحن المجاني، أو تكلفة ثابتة، أو أسعار متغيرة في الوقت الفعلي بناءً على الوزن أو العنوان)؛ كما يُنصح بتثبيت بعض الإضافات الضرورية مثل WooCommerce Payments أو الإضافات المتعلقة بالترجمة. بعد إكمال الدليل، ستدخل إلى لوحة إعدادات أساسية لـ WooCommerce. هناك عدة أجزاء رئيسية تحتاج إلى تكوين دقيق: في قسم “العام”، يمكنك تحديد أماكن البيع وطرق حساب ضرائب المبيعات؛ في قسم “المنتجات”, يمكنك تعريف وحدات القياس وإدارة تعليقات العملاء ومخزون المنتجات؛ صفحة “الدفع” هي المكان المخصص لضبط جميع بوابات الدفع وعمليات الشراء؛ أما قسم “الشحن”، فيُستخدم لإدارة مناطق الشحن وطرق التوصيل وتغليف المنتجات.
خطوة غالبًا ما تُتجاهل لكنها في الواقع مهمة للغاية هي تكوين الروابط الدائمة (المستقرة). في ووردبريس، اذهب إلى “الإعدادات” > “الروابط الثابتة”، وتأكد من عدم استخدام الهيكل البسيط (الافتراضي)؛ يُنصح باستخدام هيكل “اسم المقالة” أو أي هيكل مخصص، حيث أن ذلك يساعد على تحسين ترتيب الموقع في نتائج محركات البحث (SEO). بالإضافة إلى ذلك، في صفحة إعدادات “المتقدمة” في ووكوميرس (WooCommerce)، يجب عليك تعيين الصفحات المناسبة من ووردبريس لكل نوع من الصفحات مثل سلة التسوق، عملية الدفع، حسابي، إلخ. هذه الصفحات تم إنشاؤها تلقائيًا عند تثبيت الإضافة.
القراءة الموصى بها دليل التطوير المخصص لـ WooCommerce: من المبادئ الأساسية إلى الخبرات المتقدمة، دورة تدريبية عملية شاملة。
إعدادات المعلومات الأساسية للمتجر
تتركز إعدادات المعلومات الأساسية للمتجر بشكل رئيسي في أداة تخصيص WordPress وإعدادات WooCommerce العادية. يجب التأكد من أن عنوان المتجر وبريد الإلكتروني الخاص بخدمة العملاء وأرقام الهواتف صحيحة، حيث ستظهر هذه المعلومات في إشعارات الطلبات والفواتير وأسفل الصفحات. بالإضافة إلى ذلك، يمكن ضبط تنسيق العملة في قسم “خيارات العملة” ضمن الإعدادات العادية، مثل اليوان الصيني (¥123.00) أو الدولار الأمريكي ($123.00).
تكامل بوابات الدفع والتوصيل
بوابات الدفع هي شريان الحياة للمتاجر الإلكترونية. يحتوي WooCommerce على العديد من طرق الدفع المدمجة، مثل… WC_Gateway_BACS(تحويل بنكي)WC_Gateway_CHEQUE(دفع بالشيك) و WC_Gateway_COD(الدفع عند الاستلام). لتفعيل بوابات الدفع المتقدمة مثل Stripe أو PayPal، عادةً ما يلزم تثبيت إضافات منفصلة وتكوين مفاتيح الواجهة البرمجية الخاصة بها (API keys). على سبيل المثال، عند تكوين Stripe، يجب عليك إدخال مفتاح العام (public key) ومفتاح الخاص (secret key) الخاصين بك في صفحة الإعدادات المناسبة.
إعدادات التوصيل مهمة أيضًا للغاية. يمكنك إنشاء قواعد رسوم شحن منفصلة لدول أو مناطق مختلفة ضمن قسم “مناطق التوصيل”. على سبيل المثال، يمكنك إنشاء منطقة خاصة للصين القارية وإضافة خيارات مثل “التوصيل المجاني”، “سعر ثابت موحد”, و“الاستلام المحلي”. من خلال استخدام هذه الإعدادات، يمكن woocommerce_shipping_init يمكن للمطورين أيضًا إنشاء فئات طرق توصيل مخصصة بالكامل حسب حاجتهم.
الوظائف الأساسية وإدارة البيانات
قامت منصة WooCommerce بدمج جميع بيانات التجارة الإلكترونية ضمن أنواع المقالات المخصصة ونظام التصنيفات الخاص بمنصة WordPress. يتم تخزين المنتجات… product نوع المقالة، بينما الطلب يتوافق مع… shop_order أنواع المقالات (Article Types). فهم هذا النموذج البياني ضروري للقيام بتطويرات مخصصة متقدمة.
إدارة المنتجات هي جوهر الأساسيات؛ يدعم نظام WooCommerce أربعة أنواع من المنتجات:simple(منتجات بسيطة),grouped(المنتجات المجمعة)،external(منتجات خارجية/مرتبطة) و variable(منتجات قابلة للتغيير): تسمح المنتجات القابلة للتغيير بتعيين خصائص مختلفة (مثل اللون، الحجم) لنفس السلعة، بالإضافة إلى الأسعار والمخزون ومعرفات المنتج (SKU) المقابلة لكل خاصية. عند تعديل المنتج في الواجهة الخلفية، ستستخدم مجموعة من مربعات البيانات الوصفية (metadata boxes) لإدارة معرفات المنتجات (SKU)، الأسعار، حالة المخزون، معلومات التوصيل، ومكت
القراءة الموصى بها ما هو WooCommerce وما هي بنيته الأساسية؟。
يوفر واجهة إدارة الطلبات نظرة شاملة على المبيعات. كل طلب يحتوي على بيانات وصفية مفصلة (metadata). shop_order المنشورات تسجل معلومات العملاء، السلع المشتراة، الأسعار، حالة الدفع، وتاريخ ملاحظات الطلبات. إدارة الحالات أمر في غاية الأهمية، وتشمل الحالات الافتراضية: pending(في انتظار الدفع)processing(قيد المعالجة)،on-hold(توقف) و completed(تم الإنجاز). يمكنك استخدامه الآن. wc_get_order_statuses الدالة تحصل على جميع الحالات، ومن ثم… woocommerce_register_shop_order_post_statuses حالة تسجيل المرشحات المخصصة.
إدارة أنواع المنتجات وخصائصها
خصائص المنتجات هي أداة فعالة لتنظيم الكتالوجات المعقدة للسلع. يمكنك إنشاء خصائص عامة مثل “اللون” أو “الحجم” في قسم “المنتجات” > “الخصائص”. بعد ذلك، عند تعديل المنتجات المتغيرة، يمكنك استخدام هذه الخصائص لإنشاء “مجموعات خصائص”، وتحديد بيانات متغيرة مستقلة لكل مجموعة (مثل “أحمر – مقاس كبير”). على المستوى البرمجي، يمكن تحقيق ذلك من خلال… WC_Product_Variable الفئة وما يتعلق بها… get_available_variations() طرق للحصول على معلومات جميع الاختلافات ومعالجتها.
معالجة بيانات الطلبات والعملاء
يتم استخدام WooCommerce في إدارة المتاجر الإلكترونية. WC_Order تم استخدام فئة (class) لتغليف بيانات الطلبات. من خلال هذه الفئة، يمكنك إنشاء أو تحديث الطلبات بشكل برمجي. على سبيل المثال، يوضح الكود التالي كيفية إنشاء طلب جديد وإضافة منتجات إليه:
// 创建一个新订单对象
$order = wc_create_order();
// 通过商品ID获取商品对象并添加到订单中
$product = wc_get_product(123);
$order->add_product($product, 2); // 数量为2
// 设置客户地址
$order->set_address(array(
'first_name' => '张',
'last_name' => '三',
'email' => '[email protected]',
'phone' => '13800138000',
), 'billing');
// 计算总额并保存
$order->calculate_totals();
$order->save(); تتعلق بيانات العملاء بمستخدمي ووردبريس (WordPress users).WP_Userالربط العميق (Deep Binding): يقوم WooCommerce بذلك عن طريق… wc_get_customer_order_count و wc_get_customer_total_spent توسعت دوال مثل هذه من قدرات المستخدمين.
تكامل المواضيع وتغطية القوالب
يحدد مدى تكامل منصة WooCommerce مع القوالب (التي تُستخدم في تصميم واجهة المتجر الأمامية) من تجربة المستخدم أثناء التصفح. تعتمد منصة WooCommerce على نظام قوالب قوي، حيث توجد جميع ملفات العرض الأمامية (مثل قوائم المنتجات، صفحات المنتج الفردية، سلة التسوق) داخل مجل /templates/ موجودة داخل المجلد. من أجل تخصيص هذه القوالب دون تعديل ملفات الإضافات الأساسية، يجب عليك استبدالها بالقوالب الموجودة في موضوعك الخاص.
الطريقة الصحيحة هي: في دليل مواضيع الفعالية الخاص بك، قم بإنشاء ملف بعنوان… woocommerce قم بإنشاء مجلد جديد. ثم، قم بنسخ ملفات قوالب WooCommerce التي تريد تعديلها من دليل الإضافات (plugins directory) إلى هذا المجلد الجديد، وقم بإجراء التعديلات على هذه النسخ. على سبيل المثال، إذا كنت تريد تعديل هيكل صفحة المنتج الفردي، فسوف تحتاج إلى نسخ الملفات المتعلقة بهذه الصفحة. plugins/woocommerce/templates/single-product.php إلى themes/your-theme/woocommerce/single-product.phpسيقوم WooCommerce بتحميل ملفات القوالب الموجودة في الثيمة بشكل أولوي.
القراءة الموصى بها دليل البناء النهائي لمواقع ووكوميرس (WooCommerce): إنشاء إمبراطوريتك التجارية الإلكترونية من الصفر。
بالإضافة إلى تغطية الملف بأكمله، يمكنك أيضًا استخدام خطافات الإجراءات (Action Hooks) وخطافات المرشحات (Filter Hooks) لإدخال أو تعديل المحتوى في مواقع محددة. على سبيل المثال،woocommerce_before_single_product_summary يتم تنفيذ الاستدعاء (الhook) قبل معلومات ملخص المنتج، مما يجعله الموقع المثالي لإضافة إعلانات عرضية مخصصة.
هيكل ملفات القوالب المخصصة
ملفات قوالب WooCommerce تتمتع بهيكل تنظيمي واضح للغاية. خذ مثال دورة عرض المنتجات (product loop) كمثال.archive-product.php هذا قالب لصفحة رئيسية المتجر، وسيتم استدعاؤه تلقائيًا عند تشغيل الموقع. content-product.php لعرض كل منتج بشكل مناسب، يمكنك تغيير طريقة عرض المنتجات في القائمة بشكل كامل عن طريق تعديل هذه الملفات. على سبيل المثال، يمكنك تغيير التخطيط إلى شكل شبكي أو قائمة، أو إضافة أشارات (أيقو
استخدام الخطافات (hooks) لتوسيع الوظائف (functionality extension)
الخطافات (Hooks) هي العمود الفقري لتوسعات WooCommerce. تسمح لك خطافات الأفعال (Action Hooks) بـ “تنفيذ” كود، مثل إضافة مربع معلومات مخصص بعد جدول سلة التسوق:
add_action('woocommerce_after_cart_table', 'my_custom_cart_message');
function my_custom_cart_message() {
echo '<div class="custom-notice">شحن مجاني عند الشراء بقيمة 500 يوان أو أكثر!</div>';
} تسمح خيوط الفلاتر (filter hooks) بـ“تعديل” البيانات. على سبيل المثال، يمكن استخدامها لـ… woocommerce_add_to_cart_fragments يمكن للمرشحات (الفلاتر) تحديث محتويات عربة التسوق المصغرة بشكل ديناميكي:
add_filter('woocommerce_add_to_cart_fragments', 'update_mini_cart_count');
function update_mini_cart_count($fragments) {
$fragments['div.cart-count'] = '<div class="cart-count">' . WC()->cart->get_cart_contents_count() . '</div>';
return $fragments;
} ممارسات التخصيص المتقدم والتطوير
عندما لا تكون الوظائف المدمجة والأدوات المتاحة كافية لتلبية الاحتياجات، يصبح من الضروري القيام بتطوير مخصص أعمق. ويشمل ذلك إنشاء أنواع منتجات مخصصة، وكتابة بوابات دفع أو توصيل خاصة، بالإضافة إلى دمج الأنظمة الخارجية من خلال واجهات برمجة التطبيقات (REST APIs
إنشاء أنواع منتجات مخصصة يتطلب التوسع (أي إضافة ميزات أو وظائف جديدة إلى النظام الحالي). WC_Product أولاً، يجب عليك تعريف فئة جديدة ترث من تلك الفئة الأصلية، ثم تسجيل نوع المنتج الخاص بك. على سبيل المثال، يمكنك إنشاء فئة منتجات تسمى “الحجز”:
class WC_Product_Booking extends WC_Product {
public function __construct($product) {
parent::__construct($product);
$this->product_type = 'booking';
}
// 在这里添加自定义方法和属性,如 get_booking_dates()
}
// 将新类注册到工厂
add_filter('woocommerce_product_class', 'register_booking_product_class', 10, 2);
function register_booking_product_class($classname, $product_type) {
if ($product_type == 'booking') {
$classname = 'WC_Product_Booking';
}
return $classname;
} توفر واجهة برمجة التطبيقات (API) الخاصة بـ WooCommerce REST واجهة قوية للتطبيقات المحمولة أو أنظمة الإدارة الخارجية. يمكنك استخدام هذه الواجهة لإدارة المنتجات والطلبات والعملاء ومعظم البيانات الأخرى. للوصول إلى الواجهة، يجب أولاً تفعيلها في الجزء الخلفي من النظام ضمن خيارات “WooCommerce” > “الإعدادات” > “المتقدمة” > “الواجهات البرمجية القديمة”، ثم إنشاء مفتاح الواجهة (Consumer Key) وكلمة المرور الخاصة به (Consumer Secret). بعد ذلك، يمكنك استخدام نقاط النهاية (Endpoints) المتاحة لإجراء العمليات المطلوبة، مثل ما هو موضح أدناه:GET /wp-json/wc/v3/products للحصول على قائمة المنتجات.
تطوير بوابة شبكية مخصصة
بوابة دفع مخصصة هي نسخة مُطورة من بوابة الدفع القياسية، توفر ميزات ووظائف إضافية لتسهيل عمليات الدفع عبر الإنترنت. WC_Payment_Gateway هذا كود PHP لكلاس يحتوي على معلومات حول بوابة الدفع (payment gateway)، مثل معرف البوابة (gateway ID)، العنوان (title)، الوصف (description)، وحقول الدفع (payment fields). يجب تنفيذ الدوال اللازمة داخل هذا الكلاس لإدارة هذه المعلومات. process_payment الطريقة المستخدمة لتنفيذ منطق الدفع. بعد الانتهاء من التطوير، من الضروري إجراء بعض الخطوات لتفعيل النظام. woocommerce_payment_gateways يقوم الفلتر بإضافتها إلى قائمة البوابات (ال gateways) المتاحة.
التكامل مع الخدمات الخارجية عبر واجهات برمجة التطبيقات (APIs)
يوفر WooCommerce مجموعة واسعة من الأدوات (الـ “hooks”) للتكامل مع أنظمة إدارة الموارد (ERP)، ونظم إدارة علاقات العملاء (CRM)، أو أنظمة الخدمات اللوجستية. على سبيل المثال، عندما يتغير حالة الطلب إلى “مكتمل”, يتم تش woocommerce_order_status_completed خطاف الإجراء (Action Hook): يمكنك توصيل دالة بخطاف الإجراء هذا لدفع بيانات الطلب إلى نظام إدارة المخزون الخاص بك.
add_action('woocommerce_order_status_completed', 'sync_order_to_erp');
function sync_order_to_erp($order_id) {
$order = wc_get_order($order_id);
$data = array(
'order_id' => $order->get_id(),
'total' => $order->get_total(),
// ... 准备其他数据
);
// 使用 wp_remote_post 将 $data 发送到外部 API
} الملخصات
ووكومرس ليس مجرد مكون إضافي، بل إنه إطار عمل شامل وقابل للتوسعة للتجارة الإلكترونية. بدءًا من التثبيت والتكوين البسيطين إلى التطوير المخصص المتعمق، يوفر للمطورين إمكانيات غير محدودة من خلال نظام قوالب واضح، ومجموعة غنية من الأحداث (الإجراءات والفلاتر)، ونموذج بيانات موجهٍ للأغراض. يكمن مفتاح بناء متجر ووكومرس ناجح في ضمان تشغيل المتجر بشكل مستقر من خلال تكوين أساسي قوي، وفهم متعمق لنموذج بيانات المنتجات والطلبات، والاستخدام الماهر لتغطية القوالب والأحداث لتخصيص الواجهة الأمامية، وإتقان دمج الفئات المخصصة والبوابات والواجهات البرمجية لتلبية متطلبات العمل الفريدة. باتباع هذه الممارسات المثلى، ستتمكن من إنشاء متجر إلكتروني قوي وفعال يتوافق تمامًا مع منطق العمل.
الأسئلة الشائعة الأسئلة المتداولة
كيف يمكن تغيير نص زر “إضافة إلى سلة التسوق”؟
يمكنك استخدام woocommerce_product_add_to_cart_text المرشح (Filter) أو woocommerce_product_single_add_to_cart_text يمكن استخدام المرشحات (filters) لتعديل نصوص الأزرار. على سبيل المثال، الكود التالي يقوم بتغيير نص الزر على صفحة المنتج الفردي إلى “اشتري الآن”:
add_filter('woocommerce_product_single_add_to_cart_text', 'change_single_add_to_cart_text');
function change_single_add_to_cart_text() {
return '立即购买';
} بالنسبة لصفحة الأرشيف (قائمة المنتجات)، يرجى استخدام… woocommerce_product_add_to_cart_text يجب استخدام مرشحات (filters)، ويتطلب الأمر تحديد نوع المنتج داخل الدالة (function).
كيف يمكن إضافة حقول مخصصة لفئة منتجات معينة؟
ستحتاج إلى استخدام ميزة “الخطافات” (hooks) الخاصة بتصنيفات المنتجات في WooCommerce بالتزامن مع واجهة برمجة التطبيقات (API) لبيانات الوصف الفني (metadata) في WordPress. أولاً، قم باستخدام… product_cat_add_form_fields و product_cat_edit_form_fields تتم عملية إضافة/تعديل الفئات في صفحة الإدخال/العرض، حيث يتم عرض الحقول المتعلقة بهذه الفئات. بعد ذلك، يتم استخدام هذه الحقول في العمليات التالية… created_term و edit_term قم بتنفيذ الإجراءات اللازمة لحفظ قيم الحقول. term_metaأخيرًا، يمكنك استخدام ذلك في ملفات القوالب (template files). get_term_meta للحصول على هذه القيمة وعرضها.
لماذا لم تتم تطبيق تعديلاتي على القالب المخصص؟
يرجى اتباع الخطوات التالية للتحقيق في المشكلة: أولاً، تأكد من أنك قد قمت بنسخ ملف القالب إلى المسار الصحيح الخاص بالموضوع (theme path).your-theme/woocommerce/ أولاً، قم بتنزيل الملفات إلى المسار المحدد، وتأكد من أن هيكل المجلدات مطابق لقالب الإضافة الأصلي. ثانياً، قم بمسح جميع الكاشات، بما في ذلك كاش المتصفح، وكاش ووردبريس، وأي كاش على الخادم (مثل OPcache). أخيراً، قم بفحص قالب موقعك (theme). functions.php هل تم الإعلان بشكل صحيح عن دعم منصة WooCommerce؟add_theme_support('woocommerce');إذا استمرت المشكلة، جرب التبديل مؤقتًا إلى الثيمة الافتراضية (مثل Storefront) لاستبعاد أي مشاكل في توافق الثيمات.
كيف يمكن إنشاء منتج متغير في WooCommerce بطريقة برمجية؟
تحتاج إلى استخدام WC_Product_Variable الخطوات الأساسية هي: إنشاء كائن للمنتج وتعيين الخصائص الأساسية له؛ إنشاء وإضافة خصائص عامة (مثل الألوان)؛ إنشاء مجموعات محددة من الخصائص لكل من هذه الخصائص (أي الاختلافات الممكنة)؛ وأخيرًا، إنشاء كائن مستقل لك WC_Product_Variation الكائنات (Objects)، يتم تعيين خصائصها الخاصة مثل السعر والمخزون، وربطها بالمنتج الرئيسي. هذه عملية متعددة الخطوات، وعادة ما تشمل… wp_set_object_terms, set_attributes, و save وغيرها من الطرق.
ما التالي، ما التالي؟
القراءة الموسعة والمعرفة العملية
فيما يلي بعض الموضوعات ذات الصلة بموضوع هذه المقالة وهي مناسبة لمزيد من القراءة المتعمقة. وغالباً ما يكون من الأفضل إعطاء الأولوية للبدء بالمقال الأقرب إلى مشكلتك الحالية ثم التوسع تدريجياً إلى المواضيع المحيطة.
- لماذا يتم اختيار ووردبريس (WordPress) كمنصة أساسية لبناء المواقع الإلكترونية؟
- دليل شامل لتكوين واستخدام إضافات WooCommerce: إنشاء موقع تجاري إلكتروني من الصفر
- تفصيل تكوين شبكة مواقع ووردبريس المتعددة (WordPress Multi-Site Network)
- بناء مواقع إلكترونية مهنية بسهولة: دليل شامل من المبتدئين إلى المحترفين في استخدام ووردبريس
- دليل الووكوميرس الشامل: بناء موقع تجاري إلكتروني قوي على ووردبريس من الصفر