المشكلة غير المعلنة للأكواد القصيرة

كُتب بواسطة

في

The-Unspoken-Problem-of-Shortcodes

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

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

هذا الكود القصير تحديداً يُسمى كود التضمين القصير (embed shortcode) وهو مدمج افتراضياً في ووردبريس. يقوم هذا الكود بتضمين الفيديو من الرابط في محتواك. ما عليك سوى نسخ ولصق الكود القصير أعلاه في موقعك إذا كنت ترغب في تجربته.

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

قصير، يأخذ ووردبريس الرابط الموجود في الكود القصير ويتحقق منه مقابل عدد من مزودي المحتوى المتاحين لديه. وعندما يعثر على أحدهم، يجلب كود تضمين iframe المناسب ويعرضه بدلاً منه.

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

هنا يأتي دور واجهة برمجة تطبيقات الأكواد القصيرة (Shortcode API)..

وفرة من الأكواد القصيرة

تتيح واجهة برمجة تطبيقات الأكواد القصيرة (Shortcode API) للمطورين إنشاء أكوادهم الخاصة. وبفضل هذا، يمكن للمطورين إضافة أكوادهم القصيرة المخصصة داخل إضافاتهم.

هذا أمر رائع، فباستخدام مقتطف قصير يشبه الأكواد البرمجية (ومن هنا جاء اسم “الكود القصير”)، يمكن للمبتدئين والمستخدمين المتقدمين على حد سواء وضع أي نوع من المحتوى يرغبون به في أي مكان تقريباً.

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

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

محاولات البعض لحل المشكلة

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

Screen-Shot-2016-06-22-at-11.27.09-AM

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

Screen-Shot-2016-06-22-at-11.28.54-AM

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

Screen-Shot-2016-06-22-at-11.22.41-AM

بمعنى آخر، كل إضافة تفعل ما يحلو لها وتطبق حلها الخاص لأكوادها القصيرة فحسب. وتضيف بعض الإضافات إما زراً جديداً بجوار زر “أضف ملفات وسائط”، أو زراً جديداً داخل محرر TinyMCE.

قد تفكر الآن: “لماذا لا نجمع أيضاً الأكواد القصيرة للإضافات الأخرى ونضمنها في القائمة المنسدلة / أداة اختيار الأكواد القصيرة أيضاً؟” حسناً، هذا بالضبط ما فكرت فيه. لكن هذا القول أسهل من الفعل. سأشرح السبب بعد قليل، ولكن دعنا نلقي نظرة أولاً على الشكل الذي سيبدو عليه الحل المثالي.

الحل المثالي

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

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

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

العقبة

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

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

لا توفر واجهة برمجة تطبيقات الأكواد القصيرة (Shortcode API) أي وسيلة لإضافة أوصاف للأكواد القصيرة، أو تحويل أنواع الخصائص (type casting)، أو إضافة أوصاف للخصائص. وما لم يضف ووردبريس نفسه قسماً مركزياً للوصول إلى الأكواد القصيرة، فإنني أشك في أن يتم إنشاء هذه الميزة.

الخاتمة

في الوقت الحالي، تُترك مهمة تنظيم الأكواد القصيرة لكل مطور على حدة. وما لم يتم تطوير طريقة مركزية داخل ووردبريس، فتوقع الاستمرار في رؤية أزرار متعددة لـ “إضافة كود قصير” (Add Shortcode) في لوحة التحكم الخاصة بك. وتظل مسألة ما إذا كان ينبغي إضافة شيء من هذا القبيل إلى نواة ووردبريس أم لا نقاشاً كبيراً بحد ذاته.

حل بديل

هناك إضافات لأدوات بناء الصفحات (Page Builders) تتعامل مع هذا الأمر بطريقة مختلفة. فبدلاً من اكتشاف الأكواد القصيرة برمجياً، توفر أدوات لتعيين الأكواد القصيرة (shortcode mappers) حيث يمكن للمستخدمين إدخال كل تفاصيل الكود القصير يدوياً. وبمجرد الانتهاء، يصبح الكود متاحاً داخل أداة بناء الصفحات. ورغم أن  هذا الحل يعمل، إلا أن هذه الإعدادات تقتصر على موقعك الخاص فقط.

نحن هنا في Page Builder Sandwich نعمل على إنشاء شيء نأمل أن يتمكن من حل هذه المعضلة المتعلقة بالأكواد القصيرة. اشترك في نشرتنا البريدية أدناه لتصلك إشعارات حول تقدمنا.