مقتطفات برمجية من ووكومرس ستحتاجها كمطور ووردبريس

[aioseo_eeat_author_tooltip]
[aioseo_eeat_reviewer_tooltip]
مقتطفات من أكواد ووكومرس

إذا كنت تُنشئ متاجر على موقع ووردبريس، فإن ووكومرس يُوفر لك أساسًا متينًا، لكن التحكم الحقيقي يأتي من خلال مقتطفات برمجية ذكية. تُمكّنك أجزاء صغيرة من التعليمات البرمجية المُخصصة من تعديل صفحة المتجر، وصفحة الدفع، وحتى بعض تفاصيل سلوك المنتج دون الحاجة إلى إضافات ثقيلة. يُمكنك إضافة المقتطفات البرمجية إلى ملف PHP، أو استخدام ملف functions.php في قالب فرعي، أو تثبيت إضافة لمقتطفات برمجية للحصول على سير عمل مرئي أكثر أمانًا. يُفضل العديد من المطورين إضافة Code Snippets أو Code Snippets Pro لأنها تُتيح لك تفعيل القواعد وتعطيلها وتصديرها دون الحاجة إلى تعديل ملفات القالب. هذا يُحافظ على تنظيم شفرة المصدر ويُسهّل الاستيراد التلقائي للمشاريع الجديدة.

تساعدك مقتطفات التعليمات البرمجية في مهام شائعة مثل تغيير عنوان صفحة المتجر، وإخفاء مسارات التنقل، أو تعديل حقول الدفع لجمع البيانات المطلوبة. يمكنك إضافة حقل مخصص إلى أحد خيارات المنتج، أو تغيير نص زر سلة التسوق، أو تحديد الحد الأدنى لمبلغ الطلب. كما يمكنك ضبط إعدادات ووكومرس بدقة، وتسجيل دعم ووكومرس في القالب، وتفعيل ميزات تكبير/تصغير معرض منتجات ووكومرس، وعرض صور منبثقة، وشريط تمرير في معرض منتجات ووكومرس في دقائق معدودة.

كما يمكنك إضافة عملة مخصصة، أو إعادة تسمية تبويب منتج لعرض المزيد من المعلومات، أو إخفاء فئات المنتجات من أداة. سواءً أكنت تستخدم دوالًا بسيطة أو تُدير مكتبة متنامية من التعليمات البرمجية المخصصة، فإن هذه المقاطع البرمجية العملية تُوفر لك وظائف سلسة دون تعقيدات، وتعمل بكفاءة في معظم الإصدارات بعد اختبارها جيدًا.

محتويات

كيفية استخدام مقتطفات أكواد ووكومرس هذه بأمان

كيفية استخدام مقتطفات أكواد ووكومرس هذه بأمان
#عنوان_الصورة

إضافة أجزاء برمجية مخصصة إلى ووكومرس قد تُغير طريقة عمل موقع ووردبريس الخاص بك تمامًا. ولكن إذا قمت بلصق سطر برمجي خاطئ في ملف functions.php أو ارتكبت خطأً في إحدى دوال PHP، فقد يتعطل الموقع بالكامل. لذلك، من المهم اتباع ممارسات آمنة عند العمل مع الأكواد البرمجية المخصصة.

استخدم قالبًا فرعيًا أو إضافة مقتطفات

  • ضع الكود المخصص الخاص بك داخل ملف functions.php الخاص بالقالب الفرعي حتى يبقى سليماً بعد تحديثات القالب.
  • إذا كنت لا ترغب في تعديل ملفات القالب مباشرةً، فقم بتثبيت إضافة Code Snippets أو Code Snippets Pro.
  • تتيح لك هذه الأدوات إنشاء وإدارة وتصدير مقتطفات دون الحاجة إلى تعديل ملفات القالب.
  • تتضمن الإضافات أيضًا خيارات للاستيراد التلقائي، مما يسهل إعادة استخدام مقتطفاتك المخصصة عبر مواقع الويب المختلفة.

اختبر قبل البث المباشر

  • لا تقم أبدًا بلصق التعليمات البرمجية مباشرة على موقع ويب مباشر.
  • اختبر مقتطفاتك دائمًا على بيئة تجريبية.
  • تضمن هذه الخطوة عدم وجود تعارضات مع إعدادات WooCommerce أو حقول الدفع أو ملفات القالب الأخرى.

وثّق التعليمات البرمجية المخصصة الخاصة بك

  • أضف تعليقات واضحة فوق كل دالة تشرح وظيفتها.
  • مثال: سواء كان ذلك يؤثر على صفحة الدفع، أو صفحة المتجر، أو فئات منتجات WooCommerce، أو حقول الدفع الخاصة بالحساب.
  • يُسهّل وضع العلامات المناسبة فهم شفرة المصدر لاحقًا.

احتفظ بنسخ احتياطية وتحكم في الإصدارات

  • قم بتخزين مقتطفاتك البرمجية خارج ووردبريس باستخدام Git أو أداة أخرى للتحكم في الإصدارات.
  • إذا كنت تستخدم إضافة مقتطفات التعليمات البرمجية، فاستفد من ميزة التصدير.
  • يُتيح لك وجود نسخة احتياطية إمكانية التراجع بسرعة إذا لم يعمل شيء ما بشكل صحيح بعد التحديث.

عند استخدامها بالشكل الصحيح، تُصبح مقتطفات التعليمات البرمجية أداةً فعّالة. فهي تُساعدك على تخصيص ووكومرس دون إثقال موقع ووردبريس الخاص بك بإضافات غير ضرورية، مع الحفاظ على كل شيء نظيفًا ومستقرًا.

هل تحتاج إلى مساعدة خبير في تخصيص ووكومرس؟

يقوم فريق تطوير WooCommerce التابع لشركة Seahawk ببناء ميزات مخصصة، وإدارة عمليات الدفع، وإنشاء حلول برمجية مستقرة مصممة خصيصًا لعملك.

أساسيات إعداد القالب وتجربة المستخدم: مقتطفات من أكواد ووكومرس

قبل الخوض في استخدام الميزات المتقدمة، يُنصح بإعداد دعم WooCommerce وتنظيف القالب للحصول على تجربة تسوق أكثر سلاسة. يتجاهل العديد من المطورين هذه الأساسيات، لكنها تُحسّن بشكل كبير مظهر المتجر وتجربة المستخدم.

قم بتفعيل دعم WooCommerce في قالب موقعك

لا تدعم جميع قوالب ووردبريس بشكل كامل ووكومرس افتراضيًا. لذا، فإن إضافتها يدويًا تضمن عرض معارض المنتجات والتصاميم بشكل صحيح. يمكنك القيام بذلك من خلال ملف functions.php الخاص بالقالب الفرعي أو باستخدام إضافة مخصصة للقوالب.

دالة mytheme_add_woocommerce_support() { add_theme_support( 'woocommerce' ); add_theme_support( 'wc-product-gallery-zoom' ); add_theme_support( 'wc-product-gallery-lightbox' ); add_theme_support( 'wc-product-gallery-slider' ); } add_action( 'after_setup_theme', 'mytheme_add_woocommerce_support' );

تُضيف هذه الإضافة دعمًا أساسيًا لـ WooCommerce بالإضافة إلى ميزات تكبير وتصغير معرض المنتجات، وعرض المنتجات في نافذة منبثقة، وشريط تمرير المنتجات. تعمل هذه الميزات مجتمعةً على تحسين تصفح المنتجات في صفحة المنتج الواحد.

إزالة مسارات التنقل في ووكومرس

قد تكون مسارات التنقل مفيدة للتصفح، ولكنها قد تُشوّه التصميم أحيانًا. إذا كان قالب موقعك يتضمن مسارات تنقل بالفعل، أو كنت تفضل تصميمًا أكثر بساطةً للرأس، فيمكنك إزالة مسارات التنقل الخاصة بـ WooCommerce باستخدام هذا الكود:

add_action( 'init', 'remove_wc_breadcrumbs' ); function remove_wc_breadcrumbs() { remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0 ); }

استخدم هذه الميزة بحذر، إذ تعتمد بعض المتاجر على مسارات التنقل لتحسين محركات البحث . إذا كنت تستبدلها بنمط تنقل آخر، فإن إزالتها قد تُبسط التصميم.

استبدل عنوان صفحة المتجر

غالباً ما يكون عنوان صفحة المتجر الافتراضي هو "المتجر" فقط. ولتحقيق توافق أفضل مع علامتك التجارية أو حملاتك الموسمية، يمكنك استبداله بنص مخصص.

add_filter( 'woocommerce_page_title', 'shop_page_title' ); function shop_page_title( $title ) { if ( is_shop() ) { return "مجموعاتنا"; } return $title; }

يمكنك تغيير عنوان صفحة المتجر ليتناسب مع فئات منتجاتك أو حملاتك التسويقية أو لغة علامتك التجارية. على سبيل المثال، خلال تخفيضات الأعياد، غيّر العنوان إلى "عروض الأعياد الخاصة" لزيادة التفاعل.

تعديلات على الكتالوج لتحسين عملية الاكتشاف

بعد وضع الأساسيات، تأتي الخطوة التالية وهي تحسين كتالوج WooCommerce الخاص بك. تساعدك هذه الأجزاء البرمجية على التحكم في كيفية ظهور المنتجات والفئات على موقع WordPress الخاص بك، مما يسهل على العملاء العثور على ما يريدونه دون فوضى أو ارتباك.

تغيير ترتيب الكتالوج الافتراضي

بشكل افتراضي، يرتب WooCommerce المنتجات أبجديًا أو حسب ترتيب القائمة. يمكنك تغيير هذا الإعداد لعرض أحدث المنتجات أولًا أو ترتيبها حسب السعر. هذا التعديل البسيط يُبرز المنتجات الجديدة أو العروض ذات القيمة الأفضل.

add_filter( 'woocommerce_default_catalog_orderby', 'custom_default_catalog_orderby' ); function custom_default_catalog_orderby() { return 'date'; // الخيارات: 'date', 'price', 'title' }

وهذا يضمن أن يرى المتسوقون أحدث منتجاتك في أعلى صفحة المتجر.

اضبط عدد المنتجات في الصفحة الواحدة

كثرة المنتجات في الصفحة الواحدة قد تُربك المتسوقين، وقلة المنتجات قد تُسبب لهم الإحباط بسبب كثرة النقرات. إليك كيفية التحكم في عدد المنتجات:

add_filter( 'loop_shop_per_page', 'new_loop_shop_per_page', 20 ); function new_loop_shop_per_page( $cols ) { $cols = 12; // اضبط هذا الرقم حسب الحاجة return $cols; }

يؤدي ضبط هذه القيمة إلى تحقيق التوازن بين سرعة الموقع وتجربة المستخدم.

إخفاء الفئات أو المنتجات من الأرشيف

قد لا ترغب أحيانًا في ظهور فئات منتجات معينة في صفحة المتجر. يمكن استبعاد المنتجات الموسمية، أو المنتجات المخصصة للبيع بالجملة فقط، أو فئات المنتجات التجريبية باستخدام سطر برمجي بسيط.

add_action( 'pre_get_posts', 'remove_categories_shop' ); function remove_categories_shop( $q ) { if ( ! $q->is_main_query() || ! $q->is_post_type_archive() ) return; if ( ! is_admin() && is_shop() ) { $q->set( 'tax_query', array(array( 'taxonomy' => 'product_cat', 'field' => 'slug', 'terms' => array( 'wholesale', 'seasonal' ), 'operator' => 'NOT IN' ))); } }

يساعد هذا في الحفاظ على نظافة كتالوجك من خلال عرض المنتجات التي تريد أن يراها العملاء فقط.

استبعاد الفئات من أداة فئات المنتجات

إذا كنت تستخدم تصنيفات منتجات WooCommerce جميع المنتجات في عرضهناك. يمكنك استبعاد تصنيف معين على النحو التالي:

add_filter( 'woocommerce_product_categories_widget_args', 'woo_product_cat_widget_args' ); function woo_product_cat_widget_args( $cat_args ) { $cat_args['exclude'] = array( 25 ); // استبدل 25 بمعرف الفئة الخاصة بك return $cat_args; }

تمنحك هذه الإضافة مزيدًا من التحكم في اكتشاف المنتجات وتساعد في توجيه انتباه العملاء إلى فئاتك الأكثر ربحية.

تحسينات صفحة المنتج التي تزيد من معدل التحويل: مقتطفات برمجية من ووكومرس

تُعدّ صفحة المنتج المفردة المكان الذي يقرر فيه المتسوقون ما إذا كانوا سيشترون المنتج أم لا. باستخدام بعض أكواد ووكومرس، يمكنك تبسيط التصميم، وتقليل الارتباك، وإبراز التفاصيل الأكثر أهمية.

إعادة تسمية علامات تبويب المنتجات أو إزالتها

لا تتناسب علامات تبويب منتجات WooCommerce، مثل "الوصف" و"معلومات إضافية"، دائمًا مع أسلوب متجرك. يمكنك إعادة تسميتها أو حذفها تمامًا.

add_filter( 'woocommerce_product_tabs', 'woo_rename_tab', 98 ); function woo_rename_tab( $tabs ) { $tabs['description']['title'] = 'More Info'; return $tabs; }

يمكنك أيضًا إزالة "معلومات إضافية" إذا شعرت أنها زائدة عن الحاجة:

add_filter( 'woocommerce_product_tabs', 'remove_product_tabs', 98 ); function remove_product_tabs( $tabs ) { unset( $tabs['additional_information'] ); return $tabs; }

استبدل عبارة "غير متوفر" بنص أكثر ودية

قد يؤدي استخدام عبارة "غير متوفر" كخيار افتراضي إلى عزوف العملاء. أما استخدام عبارة "تم البيع" أو "قريبًا" فيحافظ على اهتمامهم.

أضف_فلتر( 'woocommerce_get_availability', 'availability_filter_func' ); دالة availability_filter_func( $availability ) { $availability['availability'] = str_ireplace( 'Out of stock', 'Sold', $availability['availability'] ); return $availability; }

يمكن لهذا التغيير البسيط أن يحسن تجربة العملاء دون الحاجة إلى إضافات إضافية.

اعرض "موجود بالفعل في السلة" بدلاً من "أضف إلى السلة"

إذا أضاف المتسوق منتجًا بالفعل، فقد يكون ظهور إضافة إلى السلة مربكًا. لذا، يستبدل هذا الجزء من التعليمات البرمجية الزر بعبارة "موجود بالفعل في السلة".

add_filter( 'woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text' ); function woo_custom_cart_button_text() { global $woocommerce; foreach( $woocommerce->cart->get_cart() as $cart_item ) { if( get_the_ID() == $cart_item['product_id'] ) { return __( 'موجود بالفعل في السلة', 'woocommerce' ); } } return __( 'أضف إلى السلة', 'woocommerce' ); }

يوفر هذا ملاحظات واضحة ويجعل عملية التسوق أكثر سلاسة.

تبسيط تسعير المنتجات المتغيرة

يعرض ووكومرس عادةً نطاقات سعرية مثل 100-200 دولار للمنتجات المتغيرة. إذا كنت تفضل عرض الحد الأدنى للسعر فقط مع تسمية "ابتداءً من"، فاستخدم هذا المقتطف البرمجي:

add_filter( 'woocommerce_variable_price_html', 'variation_price_format_min', 9999, 2 ); function variation_price_format_min( $price, $product ) { $prices = $product->get_variation_prices( true ); $min_price = current( $prices['price'] ); return sprintf( __( 'From %1$s', 'woocommerce' ), wc_price( $min_price ) ); }

هذا يحدد توقعات أوضح ويمكن أن يشجع على المزيد من النقرات.

تحسينات على سلة التسوق وعملية الدفع تقلل من الاحتكاك: مقتطفات برمجية من ووكومرس

يمكن للتحسينات البسيطة على سلة التسوق وعملية الدفع أن تزيد من معدلات التحويل بسرعة. تعمل هذه التحسينات على تبسيط الخطوات، وتنظيم النماذج، والحفاظ على تركيز المتسوقين.

إعادة التوجيه إلى صفحة الدفع بعد إضافة المنتج إلى سلة التسوق

استخدمه في مسارات مبيعات المنتجات الفردية أو العروض الترويجية السريعة حيث السرعة مهمة. أضفه إلى ملف functions.php الخاص بالقالب الفرعي أو إلى إضافة مقتطفات برمجية.

add_filter( 'woocommerce_add_to_cart_redirect', 'seahawk_redirect_to_checkout' ); function seahawk_redirect_to_checkout( $url ) { return wc_get_checkout_url(); }

أدخل بريدك الإلكتروني أولاً عند إتمام عملية الشراء

اجمع عناوين البريد الإلكتروني مبكراً لتسهيل عمليات التعافي وتقديم الدعم. كلما قلّ عدد العناوين، زادت الأولوية.

أضف_فلتر('woocommerce_checkout_fields', 'seahawk_email_first'); دالة seahawk_email_first($fields) { إذا (isset($fields['billing']['billing_email'])) { $fields['billing']['billing_email']['priority'] = 4; } إرجاع $fields; }

اجعل الهاتف اختياريًا أو إلزاميًا حسب السوق

قم بمطابقة متطلبات الامتثال والدعم لكل منطقة.

add_filter( 'woocommerce_billing_fields', 'seahawk_phone_requirement' ); function seahawk_phone_requirement( $address_fields ) { // اضبط القيمة على true إذا كان السوق يتطلب رقم هاتف $address_fields['billing_phone']['required'] = false; return $address_fields; }

إعادة ترتيب أو تنظيف حقول الدفع

اجعل النماذج قصيرة ومنطقية. مثال: انقل الاسم الأول والأخير إلى الأعلى.

أضف_فلتر('woocommerce_checkout_fields', 'seahawk_reorder_fields'); دالة seahawk_reorder_fields($fields) { إذا (isset($fields['billing']['billing_first_name'])) { $fields['billing']['billing_first_name']['priority'] = 6; } إذا (isset($fields['billing']['billing_last_name'])) { $fields['billing']['billing_last_name']['priority'] = 8; } إرجاع $fields; }

أضف مربعات اختيار مخصصة أعلى الشروط

يُستخدم للموافقة أو التأكيدات الإضافية. يتضمن التحقق من الصحة.

add_action( 'woocommerce_checkout_before_terms_and_conditions', 'seahawk_checkout_checkboxes' ); function seahawk_checkout_checkboxes() { ?><p class="form-row custom-checkboxes" style=";text-align:right;direction:rtl"> <label class="woocommerce-form__label checkbox"><input type="checkbox" class="woocommerce-form__input input-checkbox" name="seahawk_consent_one"><span>أوافق على تلقي تحديثات الطلب عبر البريد الإلكتروني</span> <span class="required">*</span></label> <label class="woocommerce-form__label checkbox"><input type="checkbox" class="woocommerce-form__input input-checkbox" name="seahawk_consent_two"><span>أؤكد صحة عنوان الشحن الخاص بي</span> <span class="required">*</span></label></p>

أحرف ملاحظة أمر الحد

احرص على أن تكون الملاحظات قابلة للقراءة لفرق التنفيذ.

add_filter( 'woocommerce_checkout_fields', 'seahawk_limit_order_notes' ); function seahawk_limit_order_notes( $fields ) { if ( isset( $fields['order']['order_comments'] ) ) { $fields['order']['order_comments']['maxlength'] = 180; $fields['order']['order_comments']['placeholder'] = __( 'أضف ملاحظات توصيل مختصرة. الحد الأقصى 180 حرفًا.' ); } return $fields; }

عرض إشعار الشحن الخاص بكل دولة

اعرض رسالة ديناميكية عند تحديد بلد معين.

add_action( 'woocommerce_before_checkout_billing_form', 'seahawk_country_notice_container' ); function seahawk_country_notice_container() { echo '<div class="shipping-notice woocommerce-info" style="display:none;text-align:right;direction:rtl"> يرجى الانتظار من 5 إلى 10 أيام عمل للتسليم بعد معالجة الطلب.</div> '; } add_action( 'woocommerce_after_checkout_form', 'seahawk_country_notice_script' ); function seahawk_country_notice_script() { ?><script> document.addEventListener('DOMContentLoaded', function() { var selectEl = document.querySelector('select#billing_country'); var noticeEl = document.querySelector('.shipping-notice'); var targetCountry = 'FR'; if (!selectEl || !noticeEl) return; function toggleNotice() { if (selectEl.value === targetCountry) { noticeEl.style.display = 'block'; } else { noticeEl.style.display = 'none'; } } toggleNotice(); selectEl.addEventListener('change', toggleNotice); }); </script>

تغيير حقل التركيز التلقائي عند إتمام عملية الشراء

ركز على حقل البريد الإلكتروني أولاً لإدخال أسرع.

أضف_فلتر('woocommerce_checkout_fields', 'seahawk_change_autofocus'); دالة seahawk_change_autofocus($fields) { إذا (isset($fields['billing']['billing_first_name'])) { $fields['billing']['billing_first_name']['autofocus'] = false; } إذا (isset($fields['billing']['billing_email'])) { $fields['billing']['billing_email']['autofocus'] = true; } أرجع $fields; }

أضف نصًا توضيحيًا بجوار زر "إتمام الطلب"

استخدمها لكتابة ملاحظات الخصوصية أو تذكيرات التسليم.

add_action( 'woocommerce_review_order_after_submit', 'seahawk_message_below_checkout_button' ); function seahawk_message_below_checkout_button() { echo '<p style=";text-align:right;direction:rtl"> <small>بتقديمك لهذا الطلب، فإنك تؤكد أن المعلومات المقدمة دقيقة.</small></p> '; }

إعادة توجيه الحالات الحدية والتحقق منها مبكراً

حافظ على نظافة الإشارات قبل الدفع. مثال: ⟶ يتطلب حقول إنشاء حساب.

أضف_فلتر('woocommerce_checkout_fields', 'seahawk_require_account_fields'); دالة seahawk_require_account_fields($fields) { إذا (تم تعيين($fields['account']['account_username'])) { $fields['account']['account_username']['required'] = true; } إذا (تم تعيين($fields['account']['account_password'])) { $fields['account']['account_password']['required'] = true; } إذا (تم تعيين($fields['account']['account_password-2'])) { $fields['account']['account_password-2']['required'] = true; } أعد $fields; }

منطق الشحن الذكي: مقتطفات من أكواد ووكومرس

تُقلل قواعد الشحن الذكية من كثرة الخيارات وتجعل التكاليف قابلة للتنبؤ. تُسهّل هذه المعلومات عملية اتخاذ القرارات دون إخفاء خيارات مفيدة مثل الاستلام من المتجر.

إخفاء طرق الدفع عند توفر الشحن المجاني

اعرض الشحن المجاني فقط عند توفره. أبقِ أسعار الشحن ظاهرة إذا لم يكن الشحن المجاني متاحًا.

add_filter( 'woocommerce_package_rates', 'seahawk_only_free_shipping_when_available', 10, 2 ); function seahawk_only_free_shipping_when_available( $rates, $package ) { $new_rates = array(); foreach ( $rates as $rate_id => $rate ) { if ( 'free_shipping' === $rate->method_id ) { $new_rates[ $rate_id ] = $rate; break; } } if ( ! empty( $new_rates ) ) { // الاحتفاظ بخيار الاستلام المحلي إن وجد foreach ( $rates as $rate_id => $rate ) { if ( 'local_pickup' === $rate->method_id ) { $new_rates[ $rate_id ] = $rate; break; } } return $new_rates; } return $rates; }

لماذا يفيد هذا؟

  • يزيل الإرهاق الناتج عن اتخاذ القرار عندما يكون الشحن المجاني مؤهلاً.
  • يوفر خيار الاستلام المحلي للمتسوقين الذين يفضلونه.
  • يقلل من التخلي عن سلة التسوق في الطلبات الحساسة للسعر.

أضف رسالة بسيطة توضح الحد الأدنى للشحن المجاني

إذا كنت تستخدم قاعدة المجموع الفرعي، فاعرض إشعارًا وديًا حتى يعرف المتسوقون مدى قربهم من المبلغ المطلوب.

add_action( 'woocommerce_before_cart', 'seahawk_free_shipping_threshold_notice' ); add_action( 'woocommerce_before_checkout_form', 'seahawk_free_shipping_threshold_notice' ); function seahawk_free_shipping_threshold_notice() { $threshold = 75; // حدد حد الشحن المجاني $subtotal = WC()->cart ? WC()->cart->get_displayed_subtotal() : 0; if ( $subtotal && $subtotal < $threshold ) { $remaining = wc_price( $threshold - $subtotal ); wc_print_notice( 'أضف ' . $remaining . ' للحصول على شحن مجاني.', 'notice' ); } }

نصائح

  • قم بمطابقة هذا الحد مع إعدادات WooCommerce الخاصة بك حتى تظل الرسائل دقيقة.
  • اختبر باستخدام القسائم والضرائب للتأكد من أن الحسابات تعكس سياستك.

التحكم في التسعير والعملات: مقتطفات من أكواد ووكومرس

يُعزز عرض الأسعار بشكل واضح الثقة. تُضيف هذه المعلومات دعمًا للعملات الإقليمية وتُحسّن مظهر الأسعار في متجرك.

أضف عملة ورمزًا مخصصين

مفيد للعلامات التجارية الإقليمية أو المتاجر التجريبية. أضفه إلى ملف functions.php الخاص بالقالب الفرعي أو إلى إضافة مقتطفات برمجية.

// تسجيل رمز عملة مخصص add_filter( 'woocommerce_currencies', 'seahawk_add_currency' ); function seahawk_add_currency( $currencies ) { $currencies['ABC'] = __( 'عملة تجريبية', 'woocommerce' ); // استبدل ABC بالاسم return $currencies; } // إرفاق رمز بعملتك المخصصة add_filter( 'woocommerce_currency_symbol', 'seahawk_add_currency_symbol', 10, 2 ); function seahawk_add_currency_symbol( $symbol, $currency ) { if ( 'ABC' === $currency ) { $symbol = '¤'; // استبدل الرمز برمزك } return $symbol; }

أين يُستخدم؟

  • إعدادات ووكومرس ⟶ عام ⟶ خيارات العملة.
  • اختر عملتك الجديدة بعد إضافة الرمز.

تخلص من الأصفار غير الضرورية في الأسعار

عرض الأسعار بشكل أوضح يحسن من سهولة القراءة.

add_filter( 'woocommerce_price_trim_zeros', '__return_true' );

ما يفعله

  • يظهر الرقم 19 بدلاً من 19.00.
  • يحتفظ بالأرقام العشرية فقط عند الحاجة.

اختياري ⟶ التحكم في تنسيق السعر حسب اللغة

قم بتغيير فواصل الآلاف والفواصل العشرية لأسواق محددة.

add_filter( 'wc_price_args', 'seahawk_price_args_by_locale' ); function seahawk_price_args_by_locale( $args ) { // مثال لنمط الاتحاد الأوروبي if ( is_user_logged_in() && function_exists( 'get_user_locale' ) && 'fr_FR' === get_user_locale() ) { $args['decimal_separator'] = ','; $args['thousand_separator'] = ' '; } return $args; }

المدفوعات، والبريد الإلكتروني، ومعالجة الطلبات: مقتطفات من أكواد ووكومرس

عزز التواصل والتحكم باستخدام بعض البيانات الموجزة الموثوقة. تساعد هذه البيانات فريقك على الاطلاع على التحديثات الرئيسية، وإضافة بيانات الطلبات إلى رسائل البريد الإلكتروني، وإيقاف عملية الدفع مؤقتًا أثناء الصيانة، وحظر الطلبات المشبوهة.

أضف مستلم بريد إلكتروني إضافي للطلبات المكتملة

قم بإدراج قسم الدعم أو المحاسبة عند اكتمال الطلب.

add_filter( 'woocommerce_email_recipient_customer_completed_order', 'seahawk_extra_completed_order_recipient', 10, 2 ); function seahawk_extra_completed_order_recipient( $recipient, $order ) { $extra = 'ops@example.com'; // استبدل هذا بعنوان بريدك الإلكتروني if ( $recipient && strpos( $recipient, $extra ) === false ) { $recipient .= ', ' . $extra; } return $recipient; }

نصيحة

  • لإضافة نسخة مخفية، قم بالربط مع woocommerce_email_headers وأضف رأس BCC.

أضف بيانات الطلب المخصصة إلى رسائل البريد الإلكتروني الخاصة بالمعاملات

اعرض رمز التتبع أو أي حقل مخصص محفوظ في رسائل البريد الإلكتروني للعملاء.

// 1) حفظ حقل بيانات تعريف مخصص للطلب لأغراض العرض التوضيحي add_action( 'woocommerce_checkout_update_order_meta', 'seahawk_save_tracking_meta' ); function seahawk_save_tracking_meta( $order_id ) { // استبدل هذا بمنطقك الخاص الذي يحفظ قيمة تتبع حقيقية if ( ! metadata_exists( 'post', $order_id, '_tracking_code' ) ) { update_post_meta( $order_id, '_tracking_code', 'ABC123' ); } } // 2) إدراج بيانات التعريف هذه في رسائل البريد الإلكتروني add_filter( 'woocommerce_email_order_meta_fields', 'seahawk_add_tracking_to_emails', 10, 3 ); دالة seahawk_add_tracking_to_emails( $fields, $sent_to_admin, $order ) { $tracking = $order->get_meta( '_tracking_code' ); if ( $tracking ) { $fields['tracking_code'] = array( 'label' => __( 'رمز التتبع', 'woocommerce' ), 'value' => esc_html( $tracking ), ); } return $fields; }

حيث يظهر

  • العميل يقوم بمعالجة الطلب
  • أكمل العميل الطلب
  • طلب جديد من الإدارة

ارفض عملية الدفع إذا كان لدى المستخدم طلبات معلقة

مفيد لمكافحة الاحتيال أو سير العمل الخاص. يمنع إتمام عملية الشراء عندما يكون لدى بريد إلكتروني مطابق للعميل طلبات معلقة.

add_action( 'woocommerce_after_checkout_validation', 'seahawk_block_when_pending_orders', 10, 2 ); function seahawk_block_when_pending_orders( $data, $errors ) { if ( is_user_logged_in() ) { $customer_id = get_current_user_id(); $args = array( 'type' => 'shop_order', 'status' => array( 'wc-pending' ), 'limit' => 1, 'customer_id' => $customer_id, 'return' => 'ids', ); $pending = wc_get_orders( $args ); إذا لم تكن قائمة الطلبات المعلقة فارغة، فسيتم إضافة رسالة خطأ إلى قائمة الأخطاء، مع رسالة تفيد بوجود طلب معلق. يرجى إتمام الدفع أو إلغاؤه قبل تقديم طلب جديد. وإلا، فسيتم إنهاء العملية. // إتمام عملية الشراء كضيف ⟶ مطابقة البريد الإلكتروني للفواتير $email = isset( $data['billing_email'] ) ? sanitize_email( $data['billing_email'] ) : ''; إذا كان البريد الإلكتروني موجودًا، فسيتم إنشاء مصفوفة $args تحتوي على: 'type' => 'shop_order', 'status' => array( 'wc-pending' ), 'limit' => 1, 'billing_email' => $email, 'return' => 'ids', ); $pending = wc_get_orders( $args ); إذا لم تكن قائمة الطلبات المعلقة فارغة، فسيتم إضافة رسالة خطأ إلى قائمة الأخطاء، مع رسالة تفيد بوجود طلب معلق. يرجى إتمام عملية الدفع أو إلغاء الطلب قبل تقديم طلب جديد

ملحوظات

  • قم بتعديل الرسالة لتتناسب مع سير عمل الدعم الخاص بك.
  • ضع في اعتبارك السماح بالدفع نقداً عند الاستلام أو عن طريق التحويل المصرفي إذا لزم الأمر.

تفعيل وضع العطلة أو وضع الإيقاف المؤقت

أبقِ الكتالوج مرئيًا مع تعطيل سلة التسوق وعملية الدفع. مثالي لفترات الصيانة أو عمليات جرد المخزون.

add_action( 'init', 'seahawk_holiday_mode' ); function seahawk_holiday_mode() { if ( ! apply_filters( 'seahawk_holiday_mode_enabled', false ) ) { return; } remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 ); remove_action( 'woocommerce_proceed_to_checkout', 'woocommerce_button_proceed_to_checkout', 20 ); remove_action( 'woocommerce_checkout_order_review', 'woocommerce_checkout_payment', 20 ); add_action( 'woocommerce_before_main_content', 'seahawk_shop_disabled_notice', 5 ); add_action( 'woocommerce_before_cart', 'seahawk_shop_disabled_notice', 5 ); add_action( 'woocommerce_before_checkout_form', 'seahawk_shop_disabled_notice', 5 ); } function seahawk_shop_disabled_notice() { wc_print_notice( __( 'متجرنا غير متاح مؤقتًا. يرجى معاودة المحاولة لاحقًا.' ), 'error' ); }

كيفية التبديل

  • قم بتعيين الفلتر إلى "صحيح" في جزء برمجي مساعد قصير أو عبر إضافة خاصة بالموقع:
add_filter( 'seahawk_holiday_mode_enabled', '__return_true' );

اختياري ⟶ تغيير اسم المرسل وعنوان البريد الإلكتروني

اجعل مُرسِل البريد الإلكتروني متوافقًا مع هوية علامتك التجارية.

أضف_فلتر('wp_mail_from_name', 'seahawk_wp_mail_from_name', 99); دالة seahawk_wp_mail_from_name($name) { $wc_name = get_option('woocommerce_email_from_name'); return $wc_name ? html_entity_decode($wc_name) : $name; } أضف_فلتر('wp_mail_from', 'seahawk_wp_mail_from', 99); دالة seahawk_wp_mail_from($email) { $wc_email = get_option('woocommerce_email_from'); return $wc_email ? sanitize_email($wc_email) : $email; }

مكان التكوين

  • WooCommerce ⟶ الإعدادات ⟶ البريد الإلكتروني ⟶ اسم وعنوان "من".

قواعد حساب العميل والوصول: مقتطفات من كود ووكومرس

بيانات الحساب لدعم العملاء، وسجل الطلبات، والمحتوى المحمي. استخدم هذه البيانات للتحكم في حقول الحساب وتفعيل الميزات للمشترين السابقين.

اجعل حقول الحساب إلزامية عند إتمام عملية الشراء

اطلب اسم المستخدم وكلمة المرور عندما تريد من العملاء إنشاء حساب عند إتمام عملية الشراء.

أضف_فلتر('woocommerce_checkout_fields', 'seahawk_require_account_on_checkout'); دالة seahawk_require_account_on_checkout($fields) { إذا (تم تعيين($fields['account']['account_username'])) { $fields['account']['account_username']['required'] = true; } إذا (تم تعيين($fields['account']['account_password'])) { $fields['account']['account_password']['required'] = true; } إذا (تم تعيين($fields['account']['account_password-2'])) { $fields['account']['account_password-2']['required'] = true; } إرجاع $fields; }

جيد لـ

  • متاجر العضوية.
  • دعم إعادة الطلب والعناوين المحفوظة.
  • عملية الإعداد بعد الشراء.

تحقق مما إذا كان المستخدم قد اشترى منتجات محددة بالفعل

مفيد لفتح التنزيلات، والحد من عمليات الشراء المتكررة، أو عرض عروض الترقية.

دالة seahawk_user_bought_any( $product_ids = array(), $user_id = 0 ) { إذا كانت $product_ids فارغة، تُرجع خطأ. إذا لم يكن $user_id موجودًا وكان المستخدم مسجلاً دخوله، فسيتم الحصول على $user_id من خلال get_current_user_id(). إذا لم يكن $user_id موجودًا، تُرجع خطأ. يتم استدعاء wc_get_orders( array( 'type' => 'shop_order', 'status' => array( 'wc-completed', 'wc-processing' ), 'limit' => -1, 'customer_id' => $user_id, 'return' => 'ids', ) ); إذا كانت $orders فارغة، تُرجع خطأ. لكل عنصر $orders في $orders، يتم استدعاء wc_get_order( $order_id ); foreach ($order->get_items() as $item) { $pid = $item->get_product_id(); $vid = $item->get_variation_id(); if (in_array($pid, $product_ids, true) || in_array($vid, $product_ids, true)) { return true; } } } return false; }

كيفية الاستخدام في قالب

// مثال في قالب منتج أو رمز مختصر $unlock_for = array( 21, 67 ); // معرّفات المنتجات التي تمنح الوصول if ( seahawk_user_bought_any( $unlock_for ) ) { echo '<p style=";text-align:right;direction:rtl"> شكراً لشرائك. تم فتح المحتوى الإضافي الخاص بك.</p> '; } else { echo '<p style=";text-align:right;direction:rtl"> اشترِ الدورة لفتح دروس إضافية.</p> '; }

أفكار

  • اعرض علامة تبويب مخصصة للمشترين السابقين فقط.
  • استبدل "أضف إلى السلة" برابط التنزيل.
  • تقديم ترقيات مخفضة للمالكين السابقين.

نظام البحث والتصفية: مقتطفات برمجية من ووكومرس

تحكّم في ما يراه المتسوقون في نتائج البحث والقوالب. تساعد النتائج النظيفة المستخدمين على إيجاد المنتجات المناسبة بشكل أسرع، كما تحافظ على إخفاء الفئات الخاصة.

إخفاء فئة من نتائج البحث في الموقع

استبعد فئات التأجير، أو البيع بالجملة، أو المسودات من نتائج البحث.

add_action( 'pre_get_posts', 'seahawk_hide_category_from_search' ); function seahawk_hide_category_from_search( $query ) { if ( is_admin() || ! $query->is_main_query() || ! $query->is_search() ) { return; } $tax_query = array( array( 'taxonomy' => 'product_cat', 'field' => 'slug', 'terms' => array( 'rentals' ), ​​// استبدل بـ slug الخاص بفئتك 'operator' => 'NOT IN', ), ); $query->set( 'post_type', array( 'product' ) ); $query->set( 'tax_query', $tax_query ); }

حالات الاستخدام

  • إخفاء المنتجات المخصصة للبيع بالجملة فقط.
  • استبعد المسودات الموسمية حتى الإطلاق.
  • استبعد حزم B2B من نتائج البحث في قطاع التجزئة.

فحص سريع للفئة أو الوسم في القوالب

قم بتحميل الكتل أو الشارات أو الرسائل بشكل مشروط بناءً على الفئة أو الوسم.

// في حلقة منتج أو قالب واحد إذا (تم العثور على المصطلح 'sneakers'، 'product_cat'، get_the_ID() ) ) { echo ' <span class="badge">إصدار محدود</span> '; } إذا (تم العثور على المصطلح ( array( 'gift'، 'bundle' ), 'product_tag'، get_the_ID() ) ) { echo '<p style=";text-align:right;direction:rtl"> يتم الشحن خلال 24 ساعة</p> '; }

أفكار

  • اعرض شارة "جاهز للإهداء" للعناصر التي تحمل علامة.
  • أضف جداول المقاسات فقط إلى فئات الملابس.
  • اعرض ملاحظات السلامة على منتجات التجميل.

استبعاد الفئات من أداة فئات المنتجات

ركز في الأشرطة الجانبية على ما تريد أن يتصفحه المستخدمون.

add_filter( 'woocommerce_product_categories_widget_args', 'seahawk_widget_exclude_cats' ); function seahawk_widget_exclude_cats( $args ) { $args['exclude'] = array( 16, 25 ); // استبدل بمعرفات الفئات return $args; }

نصيحة

  • ابحث عن المعرفات ضمن المنتجات ⟶ الفئات ⟶ مرر مؤشر الماوس فوق الاسم لرؤية المعرف في عنوان URL.

ترقيات راحة الإدارة: مقتطفات من أكواد ووكومرس

إدارة متجر WooCommerce تعني التواجد الدائم في لوحة تحكم WordPress. هذه الميزات الإضافية تُسهّل عملك اليومي من خلال عرض التفاصيل المهمة ومواءمة رسائل البريد الإلكتروني الصادرة مع علامتك التجارية.

أضف أعمدة مخصصة إلى قائمة الطلبات

اعرض بيانات إضافية مثل الأرقام التسلسلية أو رموز التتبع مباشرة في عرض قائمة الطلبات.

// إضافة عمود جديد add_filter( 'manage_edit-shop_order_columns', 'seahawk_edit_shop_order_columns' ); function seahawk_edit_shop_order_columns( $columns ) { $columns['serial'] = __( 'الرقم التسلسلي', 'woocommerce' ); return $columns; } // ملء العمود بالبيانات add_action( 'manage_shop_order_posts_custom_column', 'seahawk_shop_order_column_content', 10, 2 ); function seahawk_shop_order_column_content( $column, $post_id ) { if ( 'serial' === $column ) { $serial = get_post_meta( $post_id, '_order_serial_number', true ); إذا كان ( $serial ) { echo esc_html( $serial ); } else { echo '—'; } } }

لماذا يفيد ذلك

  • يوفر النقرات من خلال عرض البيانات مسبقًا.
  • يقلل من الوقت المستغرق في فتح كل طلب.

أضف المنتجات المرتبطة أو رموز المنتجات (SKUs) إلى أنواع المنشورات المخصصة

إذا كنت تقوم بتشغيل إعدادات منتجات مخصصة، فيمكنك توسيع الأعمدة بشكل أكبر.

add_filter( 'manage_edit-product_columns', 'seahawk_edit_product_columns' ); function seahawk_edit_product_columns( $columns ) { $columns['sku'] = __( 'SKU', 'woocommerce' ); return $columns; } add_action( 'manage_product_posts_custom_column', 'seahawk_product_column_content', 10, 2 ); function seahawk_product_column_content( $column, $post_id ) { if ( 'sku' === $column ) { $product = wc_get_product( $post_id ); echo $product ? $product->get_sku() : ''; } }

حالة الاستخدام

  • اطلع على رموز المنتجات (SKUs) بنظرة سريعة.
  • حافظ على كفاءة مديري الكتالوجات.

قم بمواءمة اسم وعنوان مرسل البريد الإلكتروني مع العلامة التجارية

قد تبدو الإعدادات الافتراضية في ووردبريس غير احترافية. يمكنك إصلاحها عن طريق استخراج القيم من إعدادات ووكومرس.

أضف_فلتر('wp_mail_from_name', 'seahawk_custom_from_name', 99); دالة seahawk_custom_from_name($name) { $wc_name = get_option('woocommerce_email_from_name'); return $wc_name ? html_entity_decode($wc_name) : $name; } أضف_فلتر('wp_mail_from', 'seahawk_custom_from_address', 99); دالة seahawk_custom_from_address($email) { $wc_email = get_option('woocommerce_email_from'); return $wc_email ? sanitize_email($wc_email) : $email; }

أين يتم تحديد القيم

  • WooCommerce ⟶ الإعدادات ⟶ البريد الإلكتروني ⟶ اسم المرسل وعنوان المرسل.

أدوات مساعدة لتحسين الأداء والتخطيط: مقتطفات برمجية من ووكومرس

تساهم الصفحات الأسرع والتصميمات الواضحة في زيادة معدلات التحويل. تساعد هذه الميزات الإضافية في تحسين مظهر سلة التسوق على الأجهزة المحمولة، وتجعل عمليات البحث عن المنتجات المميزة أكثر فعالية.

اجعل طاولة العربة متوافقة مع الجوال

حوّل جدول سلة التسوق إلى صفوف متراصة على الشاشات الصغيرة. أضف هذا الكود البرمجي (CSS) إلى القالب الفرعي أو لوحة أنماط CSS الخاصة بالتخصيص.

/* جدول سلة التسوق في WooCommerce متوافق مع الجوال */ @media screen and (max-width: 700px) { .woocommerce table.shop_table, .woocommerce table.shop_table thead, .woocommerce table.shop_table tbody, .woocommerce table.shop_table th, .woocommerce table.shop_table td, .woocommerce table.shop_table tr { display: block; } .woocommerce table.shop_table thead tr { position: absolute; top: -9999px; left: -9999px; } .woocommerce table.shop_table tr { margin-bottom: 12px; border: 1px solid #e5e7eb; border-radius: 8px; overflow: hidden; } .woocommerce table.shop_table td { position: relative; padding-left: 50% !important; border: none; } border-bottom: 1px solid #f1f5f9; } .woocommerce table.shop_table td:last-child { border-bottom: none; } .woocommerce table.shop_table td::before { position: absolute; top: 10px; left: 10px; width: 45%; white-space: nowrap; font-weight: 600; content: attr(data-title); } }

كيف يعمل؟

  • يستخدم سمة data-title التي يضيفها WooCommerce إلى خلايا الجدول.
  • يخفي العنوان ويحول كل صف إلى بطاقة.
  • يحسّن إمكانية القراءة على الهواتف بدون استخدام أي إضافة.

استخدم بيانات مؤقتة لمعرفات المنتجات المميزة

يقلل تخزين قائمة المنتجات المميزة مؤقتًا من الاستعلامات المتكررة. قم بتهيئتها مرة واحدة وأعد استخدامها في جميع القوالب.

دالة seahawk_get_featured_product_ids( $cache_key = 'seahawk_featured_ids', $ttl = HOUR_IN_SECONDS ) { $ids = get_transient( $cache_key ); if ( false !== $ids ) { return $ids; } $featured_query = new WP_Query( array( 'post_type' => 'product', 'posts_per_page' => -1, 'meta_query' => array( array( 'key' => '_featured', 'value' => 'yes', 'compare' => '=', ), ), 'fields' => 'ids', 'no_found_rows' => true, ) ); $ids = $featured_query->posts; set_transient( $cache_key, $ids, $ttl ); return $ids; } // مثال على الاستخدام ⟶ إنشاء شبكة مصغرة add_shortcode( 'seahawk_featured_grid', function( $atts ) { $ids = seahawk_get_featured_product_ids(); if ( empty( $ids ) ) return '<p style=";text-align:right;direction:rtl"> لم يتم العثور على منتجات مميزة.</p> '; $out = '<ul class="featured-grid" style=";text-align:right;direction:rtl"> '; foreach ( $ids as $pid ) { $out .= '<li style=";text-align:right;direction:rtl"> <a href="' . esc_url( get_permalink( $pid ) ) . '">' . esc_html( get_the_title( $pid ) ) . '</a></li> '; } $out .= '</ul> '; return $out; } );

نصائح

  • قم بمسح البيانات المؤقتة عند تبديل حالة العرض المميز.
  • قم بالربط بتحديثات المنتج لحذف ذاكرة التخزين المؤقت.
add_action( 'save_post_product', function( $post_id ) { delete_transient( 'seahawk_featured_ids' ); } );

تفاصيل الامتثال والترجمة: مقتطفات من كود WooCommerce

تُسهّل التعديلات البسيطة على النماذج واللغة عملية الدفع وتجعلها أكثر دقة في مختلف المناطق. تساعدك هذه الأجزاء البرمجية على توطين الموقع دون الحاجة إلى إضافات خارجية.

قم بإزالة حقل الولاية حيث لا يكون مطلوبًا

بعض الدول لا تستخدم الولايات. إخفاء الحقل يختصر النموذج ويقلل من الالتباس.

add_filter( 'woocommerce_default_address_fields', 'seahawk_remove_state_field' ); function seahawk_remove_state_field( $fields ) { if ( isset( $fields['state'] ) ) { $fields['state']['required'] = false; $fields['state']['hidden'] = true; } return $fields; }

نصيحة

  • استخدم المنطق الشرطي إذا كنت ترغب في إخفائه لبلدان محددة فقط.

أضف دولة مخصصة إلى القائمة

مفيد لبيئات الاختبار أو المناطق الخاصة.

add_filter( 'woocommerce_countries', 'seahawk_add_custom_country' ); function seahawk_add_custom_country( $countries ) { $countries['XX'] = __( 'Exampleland', 'woocommerce' ); // استبدال الرمز والاسم return $countries; } add_filter( 'woocommerce_continents', 'seahawk_map_custom_country' ); function seahawk_map_custom_country( $continents ) { // إضافة رمز بلدك إلى قارة if ( isset( $continents['EU']['countries'] ) ) { $continents['EU']['countries'][] = 'XX'; } return $continents; }

حيث يظهر

  • إعدادات ووكومرس ⟶ عام ⟶ مواقع البيع.
  • قوائم الدول المنسدلة في صفحات الدفع والحساب.

ترجمة النصوص القصيرة بسرعة باستخدام gettext

قم بتصحيح الأخطاء الإملائية أو تغيير الصياغة في جميع أنحاء المتجر دون تعديل القوالب.

add_filter( 'gettext', 'seahawk_quick_translate', 10, 3 ); function seahawk_quick_translate( $translated, $original, $domain ) { // مثال ⟶ تغيير "اختر خيارًا" إلى "حدد" if ( 'اختر خيارًا' === $original && 'woocommerce' === $domain ) { return 'حدد'; } // مثال ⟶ إعادة تسمية "أضف إلى السلة" إلى "أضف إلى الحقيبة" if ( 'أضف إلى السلة' === $original && 'woocommerce' === $domain ) { return 'أضف إلى الحقيبة'; } return $translated; }

ملحوظات

  • طابق السلسلة الأصلية تمامًا.
  • حافظ على التغييرات متسقة مع هوية علامتك التجارية.

اختياري ⟶ تخصيص فواصل الأسعار حسب اللغة

ساعد المستخدمين على قراءة الأسعار بتنسيق مألوف.

أضف_فلتر('wc_price_args', 'seahawk_price_format_by_locale'); دالة seahawk_price_format_by_locale($args) { إذا (كانت الدالة 'get_user_locale' موجودة وكانت 'fr_FR' تساوي get_user_locale()) { $args['decimal_separator'] = ','; $args['thousand_separator'] = ' '; } أرجع $args; }

امتحان

  • إجمالي سلة التسوق.
  • القسائم والضرائب.
  • رسائل البريد الإلكتروني الخاصة بالطلبات.

الخاتمة

أصبح لديك الآن مكتبة من مقتطفات أكواد WooCommerce التي تغطي عرض الكتالوج، وعملية الدفع، ومنطق الشحن، والتسعير، والترجمة، وسهولة إدارة الموقع. باستخدامها معًا، تمنحك هذه المقتطفات تحكمًا كاملًا دون الحاجة إلى إضافات ثقيلة، وتحافظ على بساطة موقع WordPress الخاص بك.

قبل البدء بتطبيقها، ضع هذه الممارسات الأخيرة في اعتبارك:

  • اختبر دائمًا في بيئة تجريبية قبل تطبيق أجزاء التعليمات البرمجية على موقع مباشر.
  • احتفظ بنسخ احتياطية من ملف functions.php أو ملفات تصدير المكونات الإضافية الخاصة بالمقتطفات.
  • أضف تعليقات إلى كل جزء من التعليمات البرمجية حتى يفهم المطورون المستقبليون وظيفة كل جزء.
  • مراجعة تحديثات WooCommerce ⟶ قد تحتاج بعض الأجزاء البرمجية إلى تعديلات بمرور الوقت.

إذا تم التعامل مع هذه الوظائف الصغيرة بعناية، فإنها يمكن أن توفر عليك عشرات عمليات تثبيت الإضافات وتجعل متجرك الإلكتروني أسرع وأسهل في الإدارة.

الأسئلة الشائعة حول مقتطفات أكواد ووكومرس

ما هي الطريقة الأكثر أمانًا لإضافة مقتطفات WooCommerce؟

الطريقة الأكثر أمانًا هي استخدام ملف functions.php الخاص بالقالب الفرعي أو إضافة Code Snippets. يضمن هذا بقاء الكود سليمًا أثناء تحديثات القالب، ويمكن إدارته دون الحاجة إلى تعديل ملفات القالب مباشرةً.

هل يجب عليّ استخدام ملف functions.php أم إضافة مقتطفات برمجية؟

إذا كنت ترغب في تحكم كامل، فإن ملف functions.php هو الخيار الأمثل. أما للحصول على مرونة أكبر، خاصةً في مواقع العملاء، فإن إضافة مثل Code Snippets Pro أسهل في الإدارة وتوفر ميزة الاستيراد والتصدير التلقائي.

هل يمكنني تعطيل موقعي الإلكتروني باستخدام مقتطف برمجي خاطئ؟

نعم. قد يتسبب خطأ واحد في لغة PHP في حدوث خطأ فادح. لذا، اختبر دائمًا أجزاء الكود على موقع تجريبي قبل إضافتها إلى المتجر الفعلي.

هل تُبطئ مقتطفات التعليمات البرمجية أداء ووكومرس؟

لا، ليس إذا كُتبت بشكل صحيح. في الواقع، غالبًا ما تحل المقاطع البرمجية محل الإضافات، مما يقلل من حجم الملفات ويسرع متجرك.

كيف يمكنني اختبار المقاطع البرمجية بعد إضافتها؟

اختبر الموقع كزائر ومستخدم مسجل الدخول. تصفح سلة التسوق، وصفحة الدفع، وحقول إتمام عملية الشراء. تأكد من أن خيارات الشحن، وطريقة الدفع، والإجمالي تعمل بشكل صحيح.

منشورات ذات صلة

إدارة المشاريع لتطوير المواقع الإلكترونية

إدارة المشاريع لتطوير المواقع الإلكترونية: دليل شامل لإطلاق أسرع

ما هي إدارة المشاريع لتطوير المواقع الإلكترونية؟ إدارة المشاريع لتطوير المواقع الإلكترونية هي العملية

كيف يؤثر نقل الموقع الإلكتروني على تحسين محركات البحث وماذا يمكنك فعله حيال ذلك

كيف يؤثر نقل الموقع الإلكتروني على تحسين محركات البحث وماذا يمكنك فعله حيال ذلك؟

غالباً ما يتم التقليل من شأن تأثير نقل المواقع الإلكترونية على تحسين محركات البحث. فقد تتسبب عمليات إعادة التوجيه المعطلة، وفقدان البيانات الوصفية، وأخطاء الزحف في حدوث مشاكل

كيفية اكتشاف فيروس ووردبريس وإزالته (دليل 2026)

كيفية اكتشاف فيروس ووردبريس وإزالته؟ (دليل 2026)

يمكن لفيروس ووردبريس أن يُلحق ضرراً سريعاً بترتيب الموقع في محركات البحث، وأمان الموقع، وظهوره في نتائج البحث، وثقة العملاء

ابدأ مع سيهوك

سجل في تطبيقنا للاطلاع على أسعارنا والحصول على خصومات.