شارٹ کوڈز کا اَن کہا مسئلہ

تحریر کردہ

میں

The-Unspoken-Problem-of-Shortcodes

شارٹ کوڈز ورڈپریس کے اہم ترین ستونوں میں سے ایک ہیں۔ شارٹ کوڈز ڈویلپرز اور سائٹ بنانے والوں کے درمیان ایک پُل کا کام کرتے ہیں، جو لوگوں کو تقریباً جہاں چاہیں تفصیلی مواد شامل کرنے کی اجازت دیتے ہیں۔ پلگ ان بنانے والے شارٹ کوڈز کو پسند کرتے ہیں کیونکہ اس سے صارفین کو اپنا مواد کہاں اور کیسے دکھانا ہے اس میں زیادہ لچک ملتی ہے۔

اگر آپ نہیں جانتے کہ شارٹ کوڈز کیا ہیں اور وہ کیسے دکھائی دیتے ہیں، تو وہ چوکور بریکٹس میں لپٹے ہوئے کوڈ نما پرانے متن کی طرح ہوتے ہیں۔ وہ کچھ اس طرح نظر آتے ہیں:

اس مخصوص شارٹ کوڈ کو ایمبیڈ (embed) شارٹ کوڈ کہا جاتا ہے اور یہ ورڈپریس میں پہلے سے طے شدہ طور پر موجود ہوتا ہے۔ یہ خاص شارٹ کوڈ اس URL سے ویڈیو کو آپ کے مواد میں ایمبیڈ کرتا ہے۔ اگر آپ اسے آزمانا چاہتے ہیں تو اوپر دیے گئے شارٹ کوڈ کو بس اپنی سائٹ میں کاپی اور پیسٹ کریں۔

پردے کے پیچھے، اصل میں یہ ہوتا ہے کہ جب ورڈپریس کو آپ کے مواد میں کوئی شارٹ کوڈ ملتا ہے، تو یہ پروسیس ہو کر کسی اور چیز میں تبدیل ہو جاتا ہے۔ ہمارے مندرجہ بالا معاملے میں، جب بھی کوئی

شارٹ کوڈ ملتا ہے، تو ورڈپریس شارٹ کوڈ میں موجود URL کو لیتا ہے اور اپنے پاس موجود مواد فراہم کنندگان کی فہرست کے ساتھ اس کی جانچ کرتا ہے۔ جب اسے متعلقہ فراہم کنندہ مل جاتا ہے، تو وہ اس کے لیے مناسب iframe ایمبیڈ کوڈ حاصل کرتا ہے اور اس کے بجائے وہ دکھاتا ہے۔

تو یہاں مسئلہ کیا ہے؟ یہ سننے میں کافی آسان لگتا ہے، آپ بس بریکٹس کے ساتھ ایک مختصر متن درج کرتے ہیں اور آپ کا کام ہو گیا۔

اب شارٹ کوڈ API کا مرحلہ آتا ہے..

شارٹ کوڈز کی بہتات

شارٹ کوڈ 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

دوسرے لفظوں میں، ہر پلگ ان اپنی مرضی کرتا ہے اور اپنے شارٹ کوڈز کے لیے اپنا ہی حل نافذ کرتا ہے۔ کچھ پلگ انز یا تو "Add Media” بٹن کے پاس ایک نیا بٹن شامل کرتے ہیں، یا پھر TinyMCE کے اندر ایک نیا بٹن شامل کرتے ہیں۔

تو اب آپ سوچ رہے ہوں گے، "کیوں نہ دوسرے پلگ انز کے شارٹ کوڈز کو بھی اکٹھا کر کے اپنے ڈراپ ڈاؤن / شارٹ کوڈ پکر میں شامل کر لیا جائے؟” جی ہاں، بالکل یہی بات میرے ذہن میں بھی آئی تھی۔ لیکن، یہ کہنا آسان ہے اور کرنا مشکل۔ میں تھوڑی دیر میں بتاؤں گا کہ ایسا کیوں ہے، لیکن پہلے آئیے دیکھتے ہیں کہ ایک مثالی حل کیسا ہوگا۔

ایک مثالی حل

ایک بہترین منصوبہ یہ ہوگا کہ ایک ایسا پلگ ان بنایا جائے جو آپ کی سائٹ میں موجود تمام دستیاب شارٹ کوڈز کو اکٹھا کرے، پھر آپ کو ان کی فہرست پیش کرے اور تمام ایٹری بیوٹس کو پُر کرنے میں بھی آپ کی مدد کرے۔ اور جب بھی آپ کوئی نیا پلگ ان انسٹال کریں، تو وہ تمام نئے متعارف کرائے گئے شارٹ کوڈز بھی آپ کے سامنے پیش کر دیے جائیں۔

ایک ایسی مرکزی جگہ کا تصور کریں جہاں آسان رسائی کے لیے آپ کے تمام شارٹ کوڈز رکھے جائیں۔ ہر شارٹ کوڈ یہ واضح کرے گا کہ وہ کیا کام کرتا ہے اور کس پلگ ان سے تعلق رکھتا ہے۔ پھر ہر دستیاب ایٹری بیوٹ کے لیے تصور کریں کہ ان میں سے ہر ایک کے پاس ایک لیبل، ان کے لیے کوئی ویلیو منتخب کرنے کا ایک مناسب طریقہ اور ایک تفصیل ہوگی۔ آپ کو ڈراپ ڈاؤنز، کلر پکرز، ریڈیو بٹنز، ٹوگلز اور نجانے کیا کچھ دکھایا جائے گا۔

ایسی کوئی چیز ویب سائٹ اور مواد کے تخلیق کاروں کے طور پر ہماری زندگی کو آسان بنا دے گی۔ صرف اس سلائیڈر کے شارٹ کوڈ کو کاپی کرنے کے لیے مختلف دستاویزات یا اپنے ایڈمن پینل کے مختلف حصوں کو بار بار چیک کرنے کی ضرورت نہیں رہے گی جسے آپ استعمال کرنا چاہتے ہیں۔

ایک پیچیدگی

بدقسمتی سے، فی الحال ایسا کچھ کرنا کافی مشکل ہے۔ کسی شارٹ کوڈ کی تمام تفصیلات جاننے کا کوئی یقینی طریقہ موجود نہیں ہے۔ آپ تمام شارٹ کوڈز کی ایک فہرست تو حاصل کر سکتے ہیں، لیکن صرف ان کے اصل ٹیگز/نام، آپ ان کے بارے میں کوئی اضافی تفصیلات حاصل نہیں کر سکتے جیسے کہ ایٹری بیوٹس کی فہرست، وہ کیا کرتے ہیں اور ان کی اقسام کیا ہیں – مثلاً کوئی اسٹرنگ، کوئی رنگ یا کوئی نمبر۔ اور نہ ہی آپ ہر ایٹری بیوٹ کی تفصیل سے متعلق کچھ جان سکتے ہیں۔

ڈویلپرز کے لیے ایک نوٹ: جی ہاں، shortcode_atts فنکشن کے لیے حال ہی میں ایک تیسرا آرگومنٹ شامل کیا گیا ہے، لیکن یہ کوئی لازمی آرگومنٹ نہیں ہے۔ لہٰذا جب تک دنیا کا ہر پلگ ان ڈویلپر اسے نافذ نہیں کرتا، تب تک ہمارے پاس کسی شارٹ کوڈ کے تمام ایٹری بیوٹس کا تعین کرنے کا کوئی یقینی طریقہ نہیں ہوگا۔

شارٹ کوڈ API شارٹ کوڈ کی تفصیلات شامل کرنے، ایٹری بیوٹس کی ٹائپ کاسٹنگ یا ایٹری بیوٹ کی تفصیلات کے لیے کوئی سہولت فراہم نہیں کرتی۔ اور جب تک خود ورڈپریس شارٹ کوڈز تک رسائی کے لیے کوئی مرکزی جگہ شامل نہیں کرتا، مجھے شک ہے کہ یہ سہولت کبھی بنائی جائے گی۔

نتیجہ

اس وقت شارٹ کوڈز کو منظم کرنے کا کام ہر ڈویلپر پر چھوڑ دیا گیا ہے۔ جب تک ورڈپریس کے اندر کوئی مرکزی طریقہ کار وضع نہیں کیا جاتا، تب تک اپنے بیک اینڈ میں متعدد “Add Shortcode” بٹنز دیکھنے کی توقع رکھیں۔ کیا اس قسم کی چیز کو ورڈپریس کور (Core) میں شامل کیا جانا چاہیے یا نہیں، یہ بذات خود ایک اور بہت بڑی بحث ہے۔

ایک متبادل

ایسے پیج بلڈر پلگ انز موجود ہیں جو اس مسئلے کو مختلف انداز میں حل کرتے ہیں۔ پروگرام کے ذریعے شارٹ کوڈز کا پتہ لگانے کے بجائے، ان کے پاس شارٹ کوڈ میپرز ہوتے ہیں جہاں صارفین دستی طور پر کسی شارٹ کوڈ کی ہر ایک تفصیل درج کر سکتے ہیں۔ ایک بار ہو جانے کے بعد، وہ پیج بلڈر کے اندر دستیاب ہو جاتا ہے۔ اگرچہ  یہ طریقہ کام کرتا ہے، لیکن وہ صرف آپ کی اپنی سائٹ میں ہی دستیاب ہوتے ہیں۔

ہم یہاں Page Builder Sandwich میں کچھ ایسا تیار کر رہے ہیں جو امید ہے کہ شارٹ کوڈ کے اس گورکھ دھندے کو حل کر سکے۔ ہماری پیش رفت سے باخبر رہنے کے لیے نیچے ہمارے نیوز لیٹر کو سبسکرائب کریں۔