المحتوى عن 'شفرة برمجية'.



مزيد من الخيارات

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • نصائح وإرشادات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • التجارة الإلكترونية
  • الإدارة والقيادة
  • السلوك التنظيمي
  • مقالات ريادة أعمال عامة

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • jQuery
    • AngularJS
    • Cordova
    • React
  • HTML
    • HTML5
  • CSS
  • SQL
  • لغة C#‎
  • لغة C++‎
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • Sass
    • إطار عمل Bootstrap
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • لغة TypeScript
  • ASP.NET
    • ASP.NET Core
  • سير العمل
    • Git
  • صناعة الألعاب
    • Unity3D
    • منصة Xamarin
  • سهولة الوصول
  • مقالات برمجة عامة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • خواديم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • مقالات DevOps عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • التسويق بالرسائل النصية القصيرة
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عمل حر عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 3 نتائج

  1. أعتقد أنَّه من المهم كلَّما تحدثنا عن بعض المفاهيم البرمجيَّة التأني قليلًا والتراجع بضعة خطوات بعيدًا عن تفاصيل النقاش والنظر إلى الصورة كاملة. تطرَّقت سابقًا باختصار إلى فكرة التأثيرات الجانبية في البرمجة ولكنَّني توسَّعت فيها عندما تحدثت عن استخدام معايير PSR والتي يجب أن يفهمها من يهتم بأخذ فكرة عامة عن بعض نواحي البرمجة. أذكِّرك بتعريف التأثيرات الجانبية كما ذكر في معيار PSR-1 وهو: يجب على الملف أن ينشئ بنى برمجية جديدة مثل الأصناف والدوال والثوابت ...إلخ. ودون أن يسبب أي "تأثير جانبي"، أو يجب أن ينفِّذ الخطوات المنطقيَّة التي تؤدي إلى "تأثيرات جانبية" ولكن لا يسمح أن ينفِّذ كلا الأمرين. أنا لست هنا بصدد مناقشة المنطق الذي يؤدي إلى التأثيرات الجانبية لأنَّه ستحدث تأثيرات جانبية في بعض الأحيان، ولكن أنا مهتم جدًا بفهم التأثيرات الجانبيَّة في البرمجة (ما هي وكيف أتجنبها ...إلخ). التحدث عن التأثيرات الجانبية في أحد السياقات قد لا يختلف عن سياقات أخرى بينما في البرمجة قد يعني شيئًا آخر. التأثيرات الجانبيَّة في البرمجة فكرة «التأثيرات الجانبية» عمومًا أو التعريف العام لها بسيط جدًا وهو: تأثير اعتيادي أو ثانوي غير مرغوب به لدواء أو علاج طبي. إن أغفلت جانب العلاج بأكمله فسيبقى لديك التأثيرات الثانوية غير المرغوب بها وهنا يكمن الجزء الذي يحتمل أن يكون مربكًا وهو: نختار أن نضمِّن ملفًا؛ نعلم ما يفعله هذا الملف؛ وبذلك، إن كنا نعلم ما الذي أدرجناه وما الذي يفعله فكيف يستطيع أن يضيف شيئًا غير مرغوب فيه؟ هكذا أُسأل غالبًا عندما تميل دفة الحديث تجاه موضوع التأثيرات الجانبيَّة. لقد عمَّمتُ مفهوم التأثيرات الجانبيَّة دومًا في البرمجة على أنّه «أي شيء» يغير حالة البرنامج. التأثيرات الجانبيَّة في ووردبريس لنفترض أنَّك تعمل على ووردبريس ولديك ملفًا مسؤولًا عن إضافة قائمة فرعيَّة إلى قائمة موجودة في أعلى مستوى. يمكن أن يكون ذلك الصنف (class) بسيطًا إذ يتلخص عمله باستدعاء جزء من الواجهة البرمجية لورردبريس (WordPress API)؛ وستُنفَّذ إحدى الدوال عند وقوع حدث معيّن مرتبط بخطَّاف (hook) ثمَّ ستُضاف بعدئذٍ القائمة الفرعية. لكن ماذا لو أدى ذلك الصنف أو دالة فيه أو تضمين ملف ما إلى إضافة بعض شيفرات JavaScript أو دالة تؤدي إلى تغيير حالة القائمة الفرعية مثل أن تسلك السلوك نفسه الذي تبديه عندما يُضغط عليها إذا مرَّر المستخدم الفأرة فوقها أو أي سلوكٍ آخر لم يقصده المستخدم ولا البرنامج. يمكننا أن ندعو ما سبق بالتأثير الجانبي الذي يغير من حالة البرنامج. ما الذي يجب أن تفعله الوحدة (Module)؟ يجب على الصنف القيام بشيء واحد بحسب مبدأ المسؤولية الواحدة (single responsibility principle) وهو: إن مبدأ المسؤولية الواحدة هو مبدأ برمجي ينص على أنَّه يجب على كل وحدة أو صنف أن يتحمل مسؤولية جزء واحد من الوظيفة التي يقدمها التطبيق، ويجب على ذلك الصنف أن يغطي تلك المسؤولية كاملةً. لكن عندما نضيف أمرًا جديدًا إلى الصنف ليزيد من وظائفه أو نغيّر جزءًا جوهريًا فيه فهذا يمثِّل تأثيرًا جانبيًا. تذكر أنَّ إضافة مسؤوليات جديدة إلى الصنف ليست أمرًا سيئًا بالمطلق (فالأمر لا يماثل التأثيرات الجانبيَّة التي تحدَّث عنها معيار PSR-1) ولكن من المهم معرفة متى يجوز ذلك ومتى يكون من المستحسن تجنبه. كيف نضيف وظيفةً أخرى للبرنامج؟ أعتقد أنَّ السؤال الذي يجب أن نسأله أنفسنا هو كيف نضيف وظيفة تغير من حالة برنامج وإن أضفناها فهل هي خطأ يا ترى؟ لا، ليست خطأً، فضع ببالك أنَّ للبرامج حالاتٌ كثيرة تختلف اعتمادًا على عدِّة أشياء، فقد تُفعَّلُ إحدى تلك الحالات عندما يُكتَبُ شيءٌ ما إلى القرص الصلب أو إلى قاعدة البيانات، وقد تُفعَّل عندما يضغط المستخدم على أحد عناصر الواجهة الرسومية، وهكذا. لكن التأثيرات الجانبيَّة تظهر عند حدوث إحدى حالات البرنامج. لنعد إلى مثال القائمة الفرعيَّة حيث من المفترض أن تنفِّذ شيئًا واحدًا، ولا يجب أن تغير شيئًا آخرًا سوى ما نراه على الشاشة أي يجب ألَّا تضيف شيئًا إلى قاعدة البيانات وألَّا تغير طريقة عرض أي من العناصر الأخرى خارج النطاق المحدِّد لها ...إلخ. طريقة إضافة وظيفة تعمل بالطريقة نفسها وهي: تعريف أصناف تكون مسؤولة عن أداء غرض محدَّد ثم ترك تلك الأصناف لتنفِّذ ما هي مسؤولةٌ عنه. عندما تعمل هذه المكونات جنبًا إلى جنب مع مكون آخر يصبح لديك برنامجًا يعمل بشكل صحيح تكون كل وحدة فيه (صنف أو دالة أو غيرهما) تعمل ضمن المسار المحدَّد لها. الخلاصة أنا متأكد أنَّ أغلب من يقرأ هذه المقالة قد تبنَّى لنفسه تعريفًا لماهية التأثيرات الجانبيَّة، وأنا فعلت ذلك أيضًا. فكر في ماهية التأثيرات الجانبيَّة من هذه الناحية وهي: إذا استدعيت دالة وأعادت قيمةً ما، ثم استدعيتها مرة أخرى بنفس المعطيات، فيجب أن تعيد القيمة نفسها. إذًا هكذا تتأكد أنَّ الدالة أو الصنف أو الوحدة لا تحوي تأثيرات جانبيَّة. على أي حال، أنا ارتكبتُ مثل تلك الأخطاء وأتوقع أنني سأستمر بارتكابها، ولكن غايتنا هي محاولة تقليل التأثيرات الجانبية ما استطعنا، وبعد فترة سيصبح ذلك أمرًا بدهيًا لك. ترجمة -وبتصرف- للمقال What Are Programming Side Effects, Anyway?‎‎ لصاحبه Tom McFarlin. حقوق الصورة البارزة محفوظة لـ Freepik
  2. إذا كان لديك موقع تطوير، توثيق لمشروع، قسم مساعدة منتجات أو أي شيء مماثل وكنت تستعمل ووردبريس كنظام إدارة مُحتوى، فهناك احتمالات أنّك احتجت إلى عرض شيفرات برمجيّة في وقت أو آخر. قد يسبّب هذا الأمر مشكلة صغيرة أو مشكلة كبيرة جدًا على حسب لغة البرمجة المستخدمة. سنقوم في هذا المقال بتوضيح لماذا يعدّ هذا أمرًا مثيرًا للإزعاج وكذلك استكشاف بعض الخيارات المتاحة لك من أجل عرض الشيفرات البرمجيّة بشكلٍ جميل وسهل على موقع ووردبريس الخاص بك. لماذا عرض الشيفرات البرمجية أمر صعبتحتاج لفهم سبب صعوبة عرض الشيفرات البرمجيّة إلى معرفة بعض أساسيّات HTML. لجعل بعض النصوص عريضة (Bold) فعليك وضعها بين وسوم. من أجل جعل الخط عريضًا مثل هذا النصّ فسأحتاج إلى كتابة <strong>الخط عريضًا</strong> في محرّر ووردبريس الخاص بي. الأمور إلى الآن جيّدة ولكن الجزء الصعب هو: ماذا لو أردتُ أن أريك كيف قمتُ بعمل ذلك؟ في أيّ وقت أقوم بكتابة <strong> في المحرّر سيتمّ ترجمتها كشيفرة HTML برمجيّة، يعني هذا أن الوسم سوف يختفي وفي المقابل سيتم إظهار النص عريضًا. المشكلة الأخرى الموجودة لدينا هي إبراز بنية الجملة (Syntax) وتلوينها. حتى إذا تمّ عرض الشيفرات البرمجيّة بشكل صحيح فربّما يكون من الصعب قراءتها بدون التنسيق الصحيح. عرض الشيفرات البرمجيةأفضل طريقة لعرض الشيفرات البرمجيّة بالشكل الصحيح هي تحويل الرموز ذات المعاني المميّزة إلى HTML Entities (كيانات HTML). ربّما تكون على درايّة أنّه أحيانًا قد تحتاج إلى كتابة &amp; بدلاً من علامة العطف & العاديّة لجعلها تظهر على نحوٍ صحيح. يرجع هذا إلى أنّ &amp; هي كيان HTML الخاص بعلامة العطف &. لا يتمّ ترجمة كيانات HTML إلى شيفرات برمجيّة وإنّما يتم عرضها مثل نظيراتها من غير الكيانات. من أجل أن تريني كيف تنشئ خطّ عريض فعليك أن تكتب شيء يشبه ما يلي: &lt;strong&gt;bold text&lt;/bold&gt;&lt; هي كيان HTML لعلامة أقل من (لاحظ اختصار lt) و&gt; كيان HTML لعلامة أكبر من، لهذا استخدمنا الاختصار gt. إضافة شيفرة برمجية إلى تدوينة ووردبريس – الطريقة السهلةأسهل طريقة لإضافة شيفرات برمجيّة إلى تدويناتك هي أن تستخدم كيانات HTML وتحيط كل شيء بوسم <pre>. مثال سريع لتوضيح الأمر: <pre> add_action('admin_notices', 'show_mot_text'); function show_mot_text() { $text = get_motivation_text(); echo "&lt;p id='wp-admin-motivation'&gt;$text&lt;/p&gt;"; } </pre>لاحظ كيف قمتُ بإدراج الشيفرات البرمجيّة بعد وسم <pre> مباشرةً وأغلقتُ الوسم باستخدام <pre/> بعد آخر رمز في الشيفرة البرمجيّة. قد ترى أنّه من الأفضل لو تمّ وضع الوسوم في أسطر منفردة ولكن في هذه الحالة ستقوم خاصيّة إبراز بنية الجملة (Syntax Highlighter) في جافا سكربت بترجمة فواصل الأسطر تلك على أنّها فواصل أسطر فعليّة. ولذلك فعدم ترك فواصل أسطر تعتبر عادة حميدة هنا. تعمل هذه الطريقة بشكل جيّد ولكن صيانتها تعتبر كابوسًا. إذا كان لديك العديد من الوسوم وليس فقط النصّ الوحيد الموجود في المثال ستجد هناك فوضى من كيانات HTML مما يجعل عمليّة تعديل الشيفرات البرمجيّة أمرًا صعبًا. إذا احتجتُ إلى اللجوء إلى هذه الطريقة فإنّني أستخدم محرّر نصوصي لإنشاء كيانات HTML. أقوم بكتابة شيفرات برمجيّة عاديّة ومن ثمّ تحويل كل كيانات HTML مرّة واحدة باستخدام محرّر النصوص. إذا احتجت إلى تعديل الشيفرات البرمجيّة فيمكنك لصق النسخة المحوّلة ثمّ فكّ ترميز الكيانات إلى الرموز الصحيحة. إذا كنت تستخدم Atom.io فيمكنك استخدام حزمة HTML Entities، أمّا إذا كنت تستخدم محرّر النصوص Sublime فيمكنك استخدام أمر HTML: Encode Special Characters. رغم أنّه باستطاعتك الحصول على سير عمل جيّد باستخدام هذه الطريقة، إلا أنّ الشيفرات البرمجيّة تظهر بشكل مضطرب في محرّر تدوينات ووردبريس ودعونا نعترف أنّ هذه النتيجة أبعد ما تكون عن نظام سير عمل سريع. طريقة أفضل لعرض الشيفرات البرمجيةطريقة أفضل لإضافة شيفرات برمجيّة إلى موقع هي استخدام إضافة لتنفيذ هذا الأمر بالتحديد. الكثير من الإضافات تستخدم مكوّن جافا سكربت يعمل على إبراز بنية الجملة وخيارات أخرى لشيفراتك البرمجيّة. مكوّن إبراز بنية الجملة المفضّل بالنسبة لي هو Prism ولحسن الحظّ هناك إضافة تقوم بدمجه في ووردبريس. حمّل إضافة Prism WP، ثبّتها ثم ابدأ في كتابة شيفراتك البرمجيّة مع اتّباع التعليمات التالية. قم بإحاطة شيفراتك البرمجيّة باستخدام وسم <pre> ووسم <code>.قد تتم إضافة فئة معيّنة class إلى هذا الوسم والتي ستحدّد اللغة المستهدفة، وذلك لإبراز وتلوين الشيفرة بشكل مُناسب.إذا أردت إضافة ترقيم للأسطر فستحتاج إلى تفعيل هذا من إعدادات الإضافة ثم تضيف فئة line-numbers إلى وسم <pre>.مثال الشيفرة البرمجيّة السابق يبدو كما يلي الآن في المحرّر: <pre class="line-numbers"> <code class='language-php'> add_action('admin_notices', 'show_mot_text'); function show_mot_text() { $text = get_motivation_text(); echo "<p id='wp-admin-motivation'>$text</p>"; } </code> </pre>يبدو هذا أفضل بكثير، أليس كذلك؟ الإخراج الخاص بهذه الشيفرات لطيف أيضًا، تلقائيًّا سيظهر الإخراج مثل الصورة أدناه في حالة استخدام قالب Twenty Fifteen. هناك عدد آخر من القوالب التي يمكنك استخدامها، ربّما تريد إلقاء نظرة على الصفحة الرئيسيّة لإضافة Prism. يمكن تغيير القوالب بالنّقر على الدّوائر الموجودة في الجانب الأيمن. تتيح لك الإضافة تغيير القالب من خلال الإعدادات الخاصّة بالإضافة. خدمات خارجيةهناك عدد كبير جدًا من الخدمات التي تسمح لك بلصق شيفراتك البرمجيّة مثل Gist ،JSFiddle و Pastebin. لدى كل خدمة من هذه الخدمات إضافات ووردبريس تمكنك من تضمين شيفراتك في تدوينات ووردبريس الخاصّة بك. أقترح عليك الذهاب إلى صفحة البحث عن الإضافات في ووردبريس والبحث عن الإضافة المناسبة لك، ستجد العديد منها في ثوانٍ معدودة. افعلها بنفسك DIYأفضّل دائمًا الاعتماد على نفسي لإيجاد حلول للمشاكل عملاً بمبدأ افعلها بنفسك (DIY – Do It Yourself)، لذلك دعونا نحاول حل هذه المشكلة دون اللجوء لحلول جاهزة. لن نتطرّق لعمليّة الإبراز لأنّها صعبة للغاية، ولكن باستطاعتنا فعل الكثير لجعل إضافة الشيفرات البرمجية في ووردبريس أكثر سهولة. أكبر مشكلة تواجهنا هي مشكلة كيانات HTML. ما نريد فعله هو القدرة على كتابة الشيفرات البرمجيّة كما هي في الواجهة الخلفيّة (Backend) وعرضها كما هي أيضًا في الواجهة الأماميّة (Frontend) بدون ترجمة الوسوم. يمكن تنفيذ ذلك عن طريق إضافة مرشّح (Filter) إلى the_content. الفكرة عبارة عن أنّه قبل عرض المحتوى سنبحث خلال هذا المحتوى عن أي نصوص بين وسوم code واستبدال أي رموز مميّزة بها بكيانات HTML. لقد قمتُ قبل بضعة أشهر بكتابة إضافة بسيطة تسمّى Smart Code Escape لفعل هذا الأمر. الإضافة مثال ممتاز على شيء مفيد يستخدم 15 سطر شيفرات برمجيّة فقط. لنلق نظرة الآن. أول شيء تحتاج لفعله هو إنشاء إضافة. يمكن الاطلاع على سلسلة "مدخل إلى برمجة إضافات ووردبريس" إذا لم يكن لديك معرفة مسبقة حول كيفيّة برمجة الإضافات. باختصار: قم بإنشاء مجلّد في مجلّد الإضافات الخاصّ بك وقم بتسميته smart-code-escape وبداخل المجلّد قم بإنشاء ملفّ باسم smart-code-escape.php. قم بإضافة المحتوى التالي إلى الملف. <?php /* * Plugin Name: Smart Code Escape * Plugin URI: https://github.com/danielpataki/Smart-Code-Escape * Description: Converts less than, greater than and ampersand characters to their HTML entities within pre tags before they are output on the page. You will always see the non-escaped version in the editor, making code easy to modify. It Will not convert code tags directly within pre tags to support Prism-style highlighting. * Version: 1.1 * Author: Daniel Pataki * Author URI: http://danielpataki.com * License: GPL v2 * Licence URI: http://www.gnu.org/licenses/gpl-2.0.txt */ function smart_code_escape_pre($data) { preg_match('@(<code.*>)(.*)(<\/code>)@isU', $data[2], $matches); if(!empty( $matches)) { return $data[1] . $matches[1] . str_replace(array('&', '<', '>'), array('&amp;', '&lt;', '&gt;'), $matches[2]) . $matches[3] . $data[3]; } else { return $data[1] . str_replace(array('&', '<', '>'), array('&amp;', '&lt;', '&gt;'), $data[2]) . $data[3]; } } add_filter('the_content', 'smart_code_escape_content', 9); function smart_code_escape_content($content) { $content = preg_replace_callback('@(<pre.*>)(.*)(<\/pre>)@isU', 'smart_code_escape_pre', $content); return $content; }تحتوي الإضافة الأصليّة على توثيق مضمّن للشيفرات البرمجيّة، إذا كنت مهتمًّا فيمكنك تحميلها من المستودع وإلقاء نظرة عليها. أوّل شيء يمكن ملاحظته هو أنّني قمتُ بإضافة مرشّح إلى the_content. يقوم هذا المرشّح باستدعاء دالّة Callback تعمل مع المحتوى الموجود بين وسوم <pre>. تقوم دالة ()smart_code_escape_pre بتولي عمليّة التحويل. تعمل أوّلاً على التحقّق ممّا إذا كانت الشيفرات البرمجيّة محاطة بوسم <code>. فكّرتُ في عمل هذا التحقّق للتأكّد من أنّ الإضافة لن تتعارض مع إضافات الشيفرات البرمجيّة الأخرى مثل إضافة Prism السابق ذكرها. أتوقّع أنّه إذا قام أحدهم بإضافة شيفراتهم البرمجيّة عن طريقة إحاطتها بوسم <pre> وكذلك وسم <code> فمؤكّد أنّه يريد بالفعل عرض الشيفرات البرمجيّة كما هي في تدوينته وليس تنفيذ الشيفرات وإظهار تأثيرها على النص فقط. إذا لم تكن محتويات الوسم <pre> موجودة داخل وسم <code> فستقوم الدّالة باستبدال كل الرموز المميّزة بكيانات HTML المعبّرة عنها. خاتمةكما تلاحظ فإنّ إضافة شيفرات برمجيّة إلى موقعك ليس بالأمر الصعب، كل ما عليك معرفته مجرّد أساسيّات لماذا يتم فك الترميز. ترجمة -وبتصرّف- للمقال: How To Display Code On Your WordPress Website The Proper Way لصاحبه Daniel Pataki.
  3. يقوم النّاس بتنصيب مواقع ووردبريس كل يوم. بعضهم يستخدمه كما هو دون تغيير. ببساطة، ينصبون ووردبريس، يهيؤونه، ويستخدمون قالبًا دون أي تعديل فيه. ويبدؤون بالتدوين وهذا كل شيء. والبعض الآخر يفضل تخصيص الأشياء قليلًا. وبينما يمكنك تحقيق الكثير عن طريق استخدام قالب التصميم المناسب واختيار إضافات معينة، ربما يأتي عليك وقت تحتاج فيه للدخول إلى النص البرمجي بنفسك وإضافة بعض السطور. ولكن كيف تفعل ذلك؟ هذا هو السؤال الذي سنستكشف إجابته اليوم. الأمر نسبينعم، هاتان الكلمان هي الإجابة القصيرة لذلك السؤال. لكن هكذا لن تكون المقالة مثيرة للاهتمام، أليس كذلك؟ أفضل طريقة لإضافة نص برمجي مٌخصَّص لووردبريس يعتمد على عدد من العوامل. ولهذا اخترت تقديم خياراتك بصيغة "إذا كان / فافعل". إذا استخدمت قالبًا صُمِّمَ من قِبل شخص آخرفيجب ألّا تضيف نصًا برمجيًا مٌخصَّصًا إلى ملفات ذلك القالب، يقول إريك بويلو (صاحب وكالة برمجية): هذا يبدو مضيعة هائلة للوقت، أليس كذلك؟ إذًا، إذا كان لا يمكنك تعديل الشيفرة مباشرة في ملفات قالب التصميم، فماذا تفعل؟ 1. أنشئ قالبًا فرعيًاوفقًا لبراندون هوارد (مالك لشركة تطوير قوالب ووردبريس)، إنشاء قالب فرعي يسمح لك بإضافة نص برمجي إلى ملف functions.php دون القلق من خسارة التعديلات حين تجري تحديثات نظام ووردبريس أو القالب. بالإضافة إلى ذلك، فإن القوالب الفرعية تساعدك على "استخدام الخطافات hooks الخاصة بووردبريس والقوالب لإضافة النص البرمجي الخاص بك". وبالتالي لن تواجه خطر إعادة الكتابة على تعديلاتك مجددًا. إذا لم تمتلك فكرة جيدة عما يكون القالب الفرعي، دعني أشرح لك. إنه بشكل أساسي عبارة عن قالب فرعي للقالب الرئيسي المُنَصّب. ويمكن إنشاؤه بسهولة. إذ كل ما تحتاج فعله هو الولوج إلى موقعك عن طريق FTP وإنشاء مجلد (قد يكون اسم themename-child مناسبًا) ثم أنشء ملف style.css في ذلك المجلد. هذا الملف سيسحب المعلومات من ملف CSS التابع للقالب الرئيسي. ثم ستحتاج لتفعيل القالب الفرعي في لوحة التحكم. لن أخوض في تفاصيل كيفية فعل ذلك، إذ كتبنا بالفعل مقالًا حول كيف تنشئ القالب الفرعي الخاص بك بشكل متعمق سابقًا، لذا يمكنك قراءته إذا قررت أن هذه هي الطريقة التي تريد إضافة النص البرمجي المُخَصَّص بها. بالطبع، هذا الخيار لا يصلح في جميع الحالات. 2. استخدم إضافةإذا لم تكن مرتاحًا في التّعامل مع الواجهة الخلفية (backend) لووردبريس لكن ما زلت تريد إدخال تعديلات برمجية مٌخصَّصة، يمكنك استخدام إضافة تساعدك على وضع النص البرمجي في أماكن مناسبة على موقعك. وفقًا لسكوت تشاو من مدونة The Blog Starter، استخدام إضافة "سيٌخفِّض بشكل كبير من احتمالية حذف شيء بالخطأ". ولا حاجة لذكر أن مشكلة "تحديث الموقع وخسارة جميع التعديلات" لن تحدث إطلاقًا هنا. يُرشّح تشاو إضافتين خصيصًا. الأولى هي Insert Headers and Footers. هذه الإضافة تساعدك على إدخال النص البرمجي في ترويسة أو ذيل موقعك. وهذا مناسب للأشخاص الذين يريدون إضافة شيء مثل Google Analytics. الإضافة الثانية التي يرشحها هي Global Content Blocks. هذه الإضافة تساعدك على إدخال الشيفرة ضمن المقالات وحفظها كمقتطفات نص برمجي للاستخدام لاحقًا. رشحت ناتاليا كريس، مطورة أخرى تحدثت معها، إضافة أخرى تدعى Code Insert Manager وهي ممتازة لإضافة نصوص برمجية لخدمات مثل Google Analytics, Aweber وGetResponse. لكن مجددًا، قد لا تجد إضافة تستطيع تحقيق تلك المهمة التي تريد فعلها. في هذه الحالة يمكنك.. 3. برمجة إضافةعندما تريد إعادة تصميم موقع ما مع المحافظة على نفس وظائفه السّابقة – أو ببساطة تريد إضافة نص برمجي إلى موقعك – يمكنك برمجة إضافة لتنفيذ ذلك. يقول أدم سميث، مدير قسم التقنية فيMarketing Mojo: موضحًا أن هذا ينطبق غالبًا في حالة استخدام قالب مُصَمَّم من قبل شخص آخر أكثر من إذا كنت من صمّمه من الصفر. عادة ما يصمم سميث الإضافة المٌخصَّصة بحيث تتضمن أنواع المقالات المٌخصَّصة، الاختصارات النصية، تعديلات على إدارة ووردبريس، وتعديلات أخرى يراها مطلوبة. وينتهج هوارد أسلوبًا مماثلًا، حيث يقول: إذا أنشأت قالبك الخاصتحدثنا حتى الآن عما نفعله إذا أردت إضافة نص برمجي مٌخصَّص إلى قالب حملته مجانًا أو بمقابل مادي من على متجر قوالب. ولكن ماذا لو كان القالب من صنعك؟ ما هي أفضل الممارسات لهذه الحالة؟ يذكر بويلو في حالة ما إذا كنت قد أنشأت قالبك من الصفر، "فيجب أن تدخل الشيفرة مباشرة في القالب"، هذا يشكل تأثيرًا إيجابيًا على تطوير سرعة الموقع وكفاءته. فقط التعديل على ملف functions.php التابع للقالب حين تحتاج لإجراء تغييرات سيكون كافيًا. إنشاء إضافة (نعم، مجددًا)نعم، تنطبق هذه الطريقة على كلا الحالتين سواء أكنت تستخدم قالب مُصَمَّمًا من قبل أشخاص آخرين أو صمّمته بنفسك. هناك بعض المزايا لإنشاء إضافة لتلحقها بقالبك الخاص. ليس فقط سهولة تفعيل وإيقاف وظائف معينة للموقع حين تقرر أنك لا تحتاجها، بل أيضًا تعطيك الفرصة للتوسع إلى تطوير الإضافات. يقول بويلو: حسنًا، ما هو أفضل حل؟من جديد، الأمر نسبي. اتفق كل المطورين الذين تحدثت معهم على ذلك. وهذا لا ينفي أن هناك بضع قواعد مجربة وصحيحة. حين تحتاج لإضافة نص برمجي مٌخصَّص إلى موقع ووردبريس، فيجب عليك أن: تستخدم قالبًا فرعيًا عند التعديل على خصائص قالب مُصَمَّم من قبل شخص آخر، أوتستخدم إضافة لإضافة سطور النص البرمجي إلى موقعك، أوتُبرمج إضافات للحصول على مجال أوسع من إضافة الخصائص.هذه الخطة ستساعدك على إنشاء مواقع مُخصَّصة تبقى كما تريد لها أن تكون، بغض النظر عن أي تحديث جديد. خاتمةإن قرأت كامل المقال بتمعّن فستدرك بشكل أفضل كيفية إضافة نصوص برمجية مُخصَّصة إلى موقع ووردبريس الخاص بك وما هي أفضل طريقة بناءً للقيام بذلك اعتمادًا على حالتك الخاصّة. هل سبق لك أن واجهت نفس الوضع؟ هل وجدتَ طريقة مختلفة وأكثر كفاءة؟ شاركنا بها ترجمة -وبتصرف- للمقال What's The Best Way To Add Custom Code To WordPress؟ لكاتبته Brenda Barron. حقوق الصور محفوظة لـ: +Tuts