وجیٹس

وجیٹس

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

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

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

Built-in versus stand-alone widgets

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

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

Top ↑

ویجیٹ کی اناٹومی۔ Anatomy of a Widget

بصری طور پر، ایک ویجیٹ دو ایریاز پر مشتمل ہے:1:-ٹائٹل ایریا 2:-ویجیٹ آپشنز.
مثال کے طور پر، ایڈمن اور فرنٹ اینڈ پر بلٹ ان ٹیکسٹ ویجیٹ کی لے اؤٹ یہ ہے:

اس ویجیٹ کے لیے HTML آؤٹ پٹ اس طرح نظر آتی ہے:

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

مندرجہ بالا کوڈ کو مضمون میں بعد میں تفصیل سے بیان کیا جائے گا۔

Top ↑

Developing Widgets

ویجیٹ بنانے اور ڈسپلے کرنے کے لیے، آپ کو درج ذیل کام کرنے کی ضرورت ہے:

  1. معیاری WP_Widget کلاس اور اس کے کچھ افعال(functions) کو بڑھا کر اپنے ویجیٹ کی کلاس بنائیں
  2. اپنے ویجیٹ کو رجسٹر کریں تاکہ یہ وجیٹس اسکرین میں دستیاب ہو۔
  3. یقینی بنائیں کہ آپ کی تھیم میں کم از کم ایک ویجیٹ ایریا ہے جس میں ویجٹ شامل کرنا ہے۔

WP_Widget کلاس wp-includes/class-wp-widget.php میں واقع ہے.

ان میں سے ہر ایک فنکشن کی دستاویزات ویجیٹ کلاس کوڈ میں مل سکتی ہیں:

  1. construct: اپنے admin میں تفصیل(description)، نام اور ڈسپلے کی چوڑائی کے ساتھ اپنا ویجیٹ ترتیب دیں۔
  2. widget:ویجیٹ کے اختیارات پر کارروائی کریں اور اپنے صفحہ پر HTML ڈسپلے کریں۔ args$ پیرامیٹر وہ HTML فراہم کرتا ہے جسے آپ ویجیٹ ٹائٹل کلاس اور ویجیٹ مواد(content ) کی کلاس ڈسپلے کرنے کے لیے استعمال کر سکتے ہیں۔
  3. form: وہ فارم ڈسپلے کریں جو آپ کے ویجیٹ کی آپشنز سیٹ کرنے کے لیے استعمال کیا جائے گا۔ اگر آپ کے ویجیٹ کے پاس کوئی آپشن نہیں ہے، تو آپ اس فنکشن کو چھوڑ سکتے ہیں (حالانکہ یہ خالی ہونے پر بھی اسے شامل کرنا بہترین عمل ہے)۔
  4. update:ویجیٹ کے آپشنز کو ڈیٹا بیس میں محفوظ کریں۔ اگر آپ کے ویجیٹ کے پاس کوئی آپشن نہیں ہے، تو آپ اس فنکشن کو چھوڑ سکتے ہیں (حالانکہ یہ خالی ہونے پر بھی اسے شامل کرنا بہترین عمل ہے)

Top ↑

Registering a Widget

register_widget() فنکشن ویجیٹ کو رجسٹر کرنے کے لیے استعمال ہوتا ہے۔

widgets_init ہک کا استعمال کرتے ہوئے اس فنکشن کو کال کریں:

HTML جو ویجیٹ کو لپیٹتی ہے، ساتھ ہی ٹائٹل اور ویجیٹ کے مواد کی کلاس، اس وقت متعین کی جاتی ہے جب آپ ()register_sidebar کا استعمال کرتے ہوئے ویجیٹ ایریا کو رجسٹر کرتے ہیں۔

Top ↑

Example Text Widget

اس مضمون کے شروع میں مثال سے ٹیکسٹ ویجیٹ بنانے کے لیے۔ آپ ایک ویجیٹ کلاس ترتیب دے کر شروع کریں گے جو WP_Widget کلاس کو بڑھاتا(extends) ہے۔
کلاس کنسٹرکٹر میں آپ پیرنٹ کنسٹرکٹر کو کال کریں گے اور اسے اپنے ویجیٹ کی بنیادی ID اور نام پاس کریں گے۔ کلاس کنسٹرکٹر میں بھی آپ اپنے ویجیٹ کو رجسٹر کرنے کے لیے widgets_init ایکشن میں ہک کریں گے۔
اس کے بعد آپ ان آرگیومینٹس کو تیار کریں گے جو آپ اپنا ویجیٹ بناتے وقت استعمال کریں گے۔ چار دلائل ہیں جن کی آپ کو وضاحت کرنی چاہیے، before_title, after_title, before_widget, and after_widget یہ دلائل اس کوڈ کی وضاحت کریں گے جو آپ کے ویجٹ کے ٹائٹل اور بذات خود ویجیٹ کو ہی لپیٹتے ہیں۔
اپنے دلائل کی وضاحت کرنے کے بعد، آپ وجیٹس فنکشن کی وضاحت کریں گے۔ یہ فنکشن دو پیرامیٹرز لیتا ہے،جیسے ویجیٹ کے پہلے اور بعد میںHTML ٹیگز ۔ اور widget کی instance$، اور یہ وہ فنکشن ہے جو فارم سے آپشنز پر کارروائی کرے گا اور آپ کی سائٹ کے فرنٹ اینڈ پر ویجیٹ کے لیے HTML ڈسپلے کرے گا۔اوپر کی مثال میں ویجیٹ فنکشن صرف ویجیٹ ٹائٹل کو آؤٹ پٹ کرتا ہے، جبکہ اسے widget_title فلٹر کو دیا جاتا ہے۔اس کے بعد یہ ایک سادہ ویجیٹ ریپر اور ویجیٹ کے ٹیکسٹ فیلڈ کا مواد دکھاتا ہے۔جیسا کہ مثال میں بیان کیا گیا ہے، آپ ویجیٹ سے ان آپشنز تک رسائی حاصل کر سکتے ہیں جو instance$ میں محفوظ ہیں۔
اس کے بعد آپ فارم فنکشن کی وضاحت کریں گے۔ یہ فنکشن ایک پیرامیٹر، instance$ لیتا ہے، اور اس فارم کو آؤٹ پٹ کرتا ہے جسے صارف Widgets ایڈمن اسکرین میں ویجیٹ بنانے کے لیے استعمال کرتا ہے۔اوپر کی مثال میں، فنکشن title$ اور text$ متغیرات(variables) کی وضاحت کرکے اور انہیں پہلے درج کردہ اقدار(values ) پر سیٹ کرکے شروع ہوتا ہے، اگر وہ قدریں(values ) موجود ہوں۔پھر یہ ٹائٹل کے لیے ٹیکسٹ فیلڈ اور ٹیکسٹ مواد کے لیے ٹیکسٹ ایریا کے ساتھ ایک سادہ فارم تیار کرتا ہے۔
آخر میں آپ اپ ڈیٹ فنکشن کی وضاحت کریں گے۔ یہ فنکشن دو پیرامیٹرز لیتا ہے، new_instance$ اور old_instance$، اور آپ کے ویجٹ کو سبمٹ کرائے جانے پر نئے آپشنزکے ساتھ اپ ڈیٹ کرنا کا ذمہ دار ہے۔یہاں آپ instance$ کو خالی ایرے کے طور پر بیان کرتے ہیں۔ پھر آپ new_instance$ ویلیوز کی ٹائٹل اور ٹیکسٹ کیز کو سیٹ کریں گے. اگر وہ موجود ہیں۔ اس کے بعد آپ instance$ واپس کریں گے۔
آخر میں، جب مندرجہ بالا سبھی کی وضاحت ہو جاتی ہے، تو آپ اپنی نئی ویجیٹ کلاس کی ایک کاپی بناتے ہیں اور اپنے کام کی جانچ کرتے ہیں۔

Top ↑

Sample Widget


اس نمونہ ویجیٹ کو پھر widgets_init ہک میں رجسٹر کیا جا سکتا ہے:

Top ↑

Example with a Namespace

اگر آپ namespaces کے ساتھ پی ایچ پی 5.3 استعمال کرتے ہیں تو آپ کو مندرجہ ذیل مثال کے طور پر براہ راست کنسٹرکٹر کو کال کرنا چاہئے:

اور رجسٹر ویجیٹ کو اس کے ساتھ کال کریں:

اگر آپ سائڈبار کے بجائے کسی دوسری ٹیمپلیٹ فائل کے اندر ویجیٹ استعمال کرنا چاہتے ہیں، تو آپ اسے پروگرام کے لحاظ سے ظاہر کرنے کے لیے ()the_widget استعمال کرسکتے ہیں۔ فنکشن ویجیٹ کلاس کے ناموں کو قبول کرتا ہے۔ آپ ویجیٹ کلاس کا نام اس طرح فنکشن میں پاس کرتے ہیں:

اگر آپ کو کسی پیج پر کسی مخصوص علاقے میں ویجیٹ استعمال کرنے کی ضرورت ہو تو آپ اس نقطہ نظر کو استعمال کرنا چاہیں گے، جیسے کہ آپ کی سائٹ کے صفحہ اول(front page) پر کسی سیکشن میں فارم کے آگے واقعات کی فہرست دکھانا یا ای میل کیپچر فارم کو ڈسپلے کرنا۔ آپ کی نیویگیشن کے ساتھ ایک میگا مینو وغیرہ۔

اپنا تبصرہ لکھیں