دليل المادة
WordPress حتى أجمل الأكواد البرمجية يمكن أن تُعطّل موقعك الإلكتروني إذا اخترت الإضافات الخاطئة.
هذا ليس مبالغة. لقد رأيتُ العديد من المواقع الإلكترونية التي كانت تعمل بشكل ممتاز، ثم قفزت سرعة تحميلها من 0.8 ثانية إلى 3 ثوانٍ بعد إضافة بعض أجزاء من التعليمات البرمجية. وبعد بحثٍ مطوّل، تبيّن أن جزءًا معينًا من التعليمات البرمجية كان يُنفّذ عددًا كبيرًا من الاستعلامات غير الضرورية في قاعدة البيانات.
لذا اليوم، دعونا نتحدث عن WPCode و Fluent Snippets، وهما مكونان إضافيان لإدارة مقتطفات التعليمات البرمجية يتم مقارنتهما غالبًا في مجتمع WordPress.
بصراحة، لقد استخدمتُ كليهما بكثرة، بل وساعدتُ أصدقائي على تجنّب بعض المشاكل. اليوم، سأشارككم جميع تجاربي الصادقة.
دعوني أبدأ ببعض المعلومات الأساسية.
توجد عدة طرق أساسية لإضافة أكواد مخصصة في ووردبريس. إحداها هي تعديل ملف functions.php الخاص بالقالب مباشرةً، وهي طريقة بسيطة وسهلة، ولكن جميع البيانات تُفقد مع كل تحديث؛ طريقة أخرى هي استخدام قالب فرعي، وهي أفضل قليلاً، ولكنها لا تزال تتطلب تكاليف صيانة أعلى؛ وطريقة ثالثة هي إيجاد إضافة موثوقة لإضافة مقتطفات من الأكواد، وهي أكثر أمانًا في الإدارة والتنفيذ.
يُعد كل من WPCode و Fluent Snippets منافسين في هذين المسارين.
كود WPCodeإنه منتجٌ عريقٌ من فريق WPCode، ويتمتع بسمعةٍ طيبةٍ في مجتمع ووردبريس. حصل على تقييم 4.9 من 10؛ لا تنخدع بالتقييمات القليلة (31 تقييمًا فقط) - فهذا التقييم خير دليلٍ على جودته.
مقتطفات سلسةمنتج آخر من فريق WPManageNinja - نعم، نفس الفريق الذي صنع FluentCRM. لديه أكثر من 40 عملية تثبيت وتقييم 4.6، وهو أقل بقليل من WPCode ولكن بأربعة أضعاف عدد عمليات التثبيت.
هذا مثير للاهتمام. لا بد أن للعلاقة العكسية بين حجم التركيب والتقييمات سبباً وراء ذلك.
خبرة في التحرير
يستخدم WPCode محرر ACE، الذي يتميز، دعني أخبرك، بتصميم ووردبريس تقليدي للغاية. صحيح أنه يدعم تمييز الأكواد، لكن نظام الألوان فيه محافظ نوعًا ما، أما ميزة الإكمال التلقائي للأكواد فانسَ أمرها. إذا كنت معتادًا على VS Code، فاستخدامه هنا سيشعرك بالارتباك وكأنك عدت خمس سنوات إلى الوراء.
يختلف Fluent Snippets؛ فهو مدمج مباشرة في محرر Monaco.
نعم، إنه نفس محرر VS Code. تمييز الكود، والإكمال التلقائي، وتلميحات بناء الجملة - التجربة بأكملها تكاد تكون مطابقة لكتابة الكود محليًا. عندما استخدمته لأول مرة، أعجبت به فورًا. كان شعورًا رائعًا: "أخيرًا، إضافةٌ تُقدّم محررًا جيدًا!"
لكن السؤال هنا: هل يعني وجود محرر أفضل بالضرورة تجربة مستخدم أفضل؟
غير مؤكد.
أعرف صديقًا في شنتشن يدير موقعًا إلكترونيًا متخصصًا في المحتوى. إنه صاحب الموقع الوحيد، ويتولى بنفسه صيانة أكثر من ثلاثين موقعًا. أخبرني أنه يُفضّل WPCode. لماذا؟ لأنه بسيط. يفتح لوحة التحكم، وينقر بضع نقرات، فيظهر الكود، وانتهى الأمر. لا يحتاج إلى أي ميزات مُعقدة؛ بل يحتاج إلى الاستقرار والتشغيل الخالي من الأخطاء.
لقد أثرت بي تلك الكلمات حقاً في ذلك الوقت.
نعم، محرر موناكو رائع وقوي للغاية. لكن بالنسبة لشخص يدير أكثر من ثلاثين موقعًا إلكترونيًا يوميًا، فإن عملية التعلم بحد ذاتها تشكل عبئًا.
شكرا جزيلا
بعد مناقشة موضوع المحرر، دعونا ننتقل إلى شيء أكثر جدية.
كود WPCode يتم تخزينها في قاعدة بيانات؛ جميع المقتطفات مخزنة في جدول `wp_options`. تتضمن كل عملية قراءة استعلامًا في قاعدة البيانات، وفي سيناريوهات التزامن العالي، يمكن أن يتراكم عدد هذه الاستعلامات.
مقتطفات سلسة يتم تخزين مقتطفات الشفرة كملفات PHP في الدليل wp-content/fluent-snippets/. يقوم ووردبريس بتضمينها مباشرةً أثناء التنفيذ، متجاوزًا استعلامات قاعدة البيانات.
من الناحية النظرية، يعتبر تخزين الملفات أسرع وأكثر أماناً.
لماذا يعتبر أكثر أمانًا؟ لأن تخزين الملفات يعزل بطبيعته خطر حقن SQL؛ فلا توجد أجزاء من التعليمات البرمجية في قاعدة البيانات يمكن حقنها.
لكن هناك "لكن".
يُعاني تخزين الملفات أيضًا من مشاكله الخاصة. ففي كل مرة يتم فيها تحديث جزء الكود، يلزم الحصول على أذونات الكتابة. وإذا كان الخادم مُهيأً بشكل غير صحيح، أو في بيئات استضافة افتراضية خاصة، فقد تواجه عملية كتابة الملفات مشاكل. في السابق، اشتكى أحد المستخدمين في مجموعة من أن الكود لم يعمل بعد تحديث جزء الكود، وبعد التحقيق، تبيّن أن المشكلة تكمن في أذونات الملفات.
لذلك لا يوجد حل سحري؛ لكل حالة ظروفها الخاصة.
شروط التحميل
وهنا يكمن الاختلاف الأكثر وضوحًا بين الإضافتين.
يُعدّ التحميل المشروط في WPCode بسيطًا للغاية، إذ يدعم التحميل في المقدمة والخلفية. كما يمكنك تفعيله أو تعطيله على مستوى النظام. الأمر بهذه البساطة.
يُعدّ التحميل المشروط في Fluent Snippets مذهلاً؛ إذ يمكن أن يعتمد على أدوار المستخدمين، وقواعد عناوين URL، وأنواع الأجهزة، وحتى الحقول المخصصة. إنّ احترافيته لا تُضاهى.
هل هذا صحيح؟
هذا يعني أنه يمكنك تحقيق تحكم دقيق للغاية. على سبيل المثال، يُعدّ شرط "تحميل هذا الكود فقط على الأجهزة المحمولة التي يحتوي عنوان URL الخاص بها على /product/ ولم يكن المستخدم مسجلاً دخوله" شرطًا يكاد يكون من المستحيل تحقيقه في WPCode، ولكنه ميزة قياسية في Fluent Snippets.
بالطبع، هناك تكاليف مرتبطة بذلك. فكلما زاد تعقيد النظام، ارتفعت تكاليف الصيانة. وبعد ستة أشهر، يصبح من المشكوك فيه ما إذا كنت ستفهم الشروط والقواعد التي وضعتها أصلاً.
مشاعري
يُشبه برنامج WPCode سكين الجيش السويسري: فهو كافٍ ومستقر، لكن وظائفه لها حدود.
تُشبه مقتطفات Fluent صندوق أدوات احترافي؛ يمكنك فعل المزيد، ولكنك تحتاج إلى معرفة ما تفعله.
بصراحة، هذان الشخصان ليسا حتى منافسين في نفس المجال.
إذا كنت تدير موقعًا شخصيًا أو مشروعًا صغيرًا، فإن WPCode كافٍ. تكمن قيمته الأكبر في إدارة الكود بشكل جيد، وتجنب الأخطاء، وضمان التشغيل المستقر.
إذا كنت تقوم بعمليات متطورة أو كان موقعك يحتوي على منطق أعمال معقد، فإن التحميل المشروط لـ Fluent Snippets يمكن أن يكون بمثابة منقذ للحياة.
التطبيق العملي: لا يمكن لنوع المحتوى استدعاء الرموز المختصرة مباشرةً
حسنًا، الآن وقد غطينا المقارنات الأساسية، فلننتقل إلى بعض الأمثلة العملية.
يقوم العديد من الأشخاص بإنشاء مقتطف من نوع المحتوى في Fluent Snippets ثم يكتبون رموزًا مختصرة فيه.
مثل
[nihaoya]هذا صحيح.
دعني أخبرك، لقد وقعت في هذا الفخ من قبل.
يدعم Fluent Snippets ثلاثة أنواع من المقتطفات: نوع PHP، ونوع المحتوى، ونوع CSS/JS.
إذا تم تعيين نوع المقتطف الخاص بك إلى نوع المحتوى (PHP+HTML)، فاكتب ما يلي بداخله: [nihaoya]لن يقوم بتحليلها؛ بل سيقوم فقط... [nihaoya] يتم إخراج هذه الأحرف تمامًا كما كانت.
إنه مجرد نص عادي، وليس ناتجًا مختصرًا.
لكي يتم تنفيذ الكود المختصر فعليًا، يجب تضمينه في دالة PHP `do_shortcode()`. ويكون بناء الجملة كما يلي:
<?php echo do_shortcode('[nihaoya]'); ?>
بهذه الطريقة، سيقوم ووردبريس بتحليل الكود المختصر وإخراج المحتوى المقابل.
استغرق الأمر مني وقتاً طويلاً لأفهم هذا الأمر؛ لم يكن مذكوراً بوضوح في الوثائق.
إذا كان مقتطف الكود الخاص بك يستخدم نوع PHP، فالأمر أبسط: ما عليك سوى كتابة عبارة `return` في الدالة، وتسجيلها باستخدام `add_shortcode`، وسيعمل الكود المختصر بشكل صحيح. لا يوجد أي لبس؛ فالمشكلة تكمن فقط في نوع المحتوى (Content).
أظن أن مطور هذه الخاصية افترض أن نوع المحتوى مخصص أساسًا لمحتوى HTML، وأن الاختصارات يجب معالجتها باستخدام أنواع PHP، ولذا لم يُشر إلى ذلك بوضوح في واجهة المستخدم. مع ذلك، عمليًا، يستخدم الكثيرون كلا النوعين بشكل متبادل، مما يُسبب مشاكل.
استنتاج
كود WPCode لمن يناسب هذا البرنامج؟ للمواقع الإلكترونية الصغيرة ذات الاحتياجات البسيطة، ولمن لا يرغبون ببذل جهد كبير. فهو جاهز للاستخدام فورًا، ولا يتطلب الكثير من التعلم، كما يسهل حل المشكلات في حال ظهورها.
مقتطفات سلسة لمن يناسب؟ المواقع الإلكترونية متوسطة إلى كبيرة الحجم ذات التحكم الشرطي المعقد والتركيز على الأداء. تخزين الملفات يعني سرعة تنفيذ أسرع، والتحميل الشرطي يعني تحكمًا أدق، ومحرر موناكو يعني تجربة تطوير أكثر سلاسة.
بالطبع، هذا مبني على افتراض أنك على استعداد لدفع تكلفة التعلم لهذه "الإضافات".
بصراحة، إذا كنت تضيف فقط رمز Google Analytics أو إشعار حقوق الطبع والنشر في نهاية مقالتك، فإن WPCode مناسب تمامًا. لا داعي حقًا لعناء تعديل Fluent Snippets من أجل "محرر أفضل".
ومع ذلك، إذا كان موقعك يتطلب اختبار A/B ويحتاج إلى تحميل أكواد مختلفة حسب الجهاز أو دور المستخدم أو نوع الصفحة، فإن التحميل المشروط لـ Fluent Snippets يمكن أن يوفر عليك الكثير من التقدير اليدوي والبرمجة الثابتة.
شيء أخير.
الأدوات ليست سوى وسائل؛ تكمن قيمتها الحقيقية في قدرتك على تحقيق أقصى استفادة منها.
يُعدّ WPCode أداة شائعة تتميز بالاستقرار وسهولة الاستخدام، وهي مناسبة للنشر السريع. أما Fluent Snippets فهي أداة احترافية توفر أداءً أقوى، وتحكمًا أكثر مرونة في الشروط، وهي مناسبة للمطورين والمواقع الإلكترونية المعقدة.
إن اختيار الإضافات لا يتعلق باستعراض مهاراتك، بل يتعلق بجعل موقعك الإلكتروني أكثر استقرارًا وسرعة وأمانًا.
أعتقد جازماً أن ما يناسبك هو الأفضل، وليس بالضرورة ما يحتوي على ميزات أكثر أو ما هو أقوى.
ملخص جملة واحدة
- موقع صغير، متطلبات بسيطة → كود WPCode
- موقع كبير، نظام تحكم معقد في الظروف → مقتطفات سلسة
وأخيرًا، إليكم نصيحة: أفضل طريقة للاستكشاف هي اكتساب الخبرة العملية وتشغيل الكود. لا تكتفوا بحفظه دون ممارسة، يا جماعة!
مدونة Hope Chen Weiliang ( https://www.chenweiliang.com/ قد تكون المقالة "WPCode vs Fluent Snippets: أيهما أفضل؟ مقارنة بين الإضافات وبرنامج تعليمي عملي" التي تمت مشاركتها هنا مفيدة لك.
مرحبا بكم في مشاركة رابط هذه المقالة:https://www.chenweiliang.com/cwl-34009.html
