ورڈپریس ٹیوٹوریل: ایک تعریف پلگ ان کیسے بنائیں

آرٹیکل نے لکھا:
  • WordPress
  • اپ ڈیٹ: اگست 12، 2013

تو، یہاں ہم ورڈپریس پر ہمارے دوسرے ہفتہ وار سبق کے لئے ہیں. ہم نے سیکھا ہے کہ کس طرح ایک پیدا کرنے کے لئے لامحدود طومار کاری WP سائٹ اور صفحہ پلٹائیں پلگ ان ماضی میں. آج ہم اپنی مرضی کے پیغام کی اقسام کے بارے میں تھوڑا سا سیکھیں گے، اور ان کے ڈیٹا کو کیسے لوڈ کریں گے.

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

پھر شروع کرو

زپ اور انسٹال کریں۔

اگر آپ اس کو چیک کرنے کے لئے جلدی میں ہیں تو، آپ کر سکتے ہیں ڈاؤن لوڈ، اتارنا اور اسے نصب.

آپ کو کچھ اعداد و شمار شامل کرنے کی ضرورت ہوگی تو، نئی تعریفوں کا استعمال کرکے چند تعریفیں شامل کرکے آپ اپنے ڈیش بورڈ میں دیکھ سکتے ہیں:

فہرست کی تعریف

اس کے بعد آپ اس کو لوڈ کرنے کے لئے بنیادی شارٹ استعمال کرسکتے ہیں:

[تعریف سینگ = 0 زیادہ سے زیادہ = 5]

جب آپ نے اس کوڈ کو شامل کیا ہے تو آپ اپنے صفحے میں اس طرح کچھ دیکھیں گے:

اہم تعریف

اب ہم دیکھیں گے کہ یہ کیسے بنائیں اور اسے تلاش کریں (مزید افعال شامل کرکے اور نظر کو تبدیل کرکے).

مبادیات

جیسا کہ ہم نے پہلے کہا ہے، آپ کو شامل کرنے کی ضرورت ہوگی ہیڈر میٹا ڈیٹا، فائل پلگ ان بنائیں اور اپنے سکرپٹ کو کال کریں. لمبی کہانی مختصر ہے، آپ اپنے پلگ ان کے نام کے ساتھ آپ کے WP-content / plugins کے تحت ایک نیا فولڈر بنائے گا، پھر فولڈر کے طور پر ایک ہی نام کے ساتھ اپنے مرکزی پلگ ان فائل بننے کے لئے ایک ہی فائل بنائیں.

ایک بار جب آپ نے اس کاپی اور پیسٹ کیا ہے تو ذیل میں:

<؟ پی ایچ پی / * پلگ ان کا نام: تعریف کی تفصیل: کسٹمر کی تعریف دکھائیں. ورژن: 1.0 مصنف: ویب آمدنی بلاگ لائسنس: GPL2 * // // enqueueing سکرپٹ اور شیلیوں فنکشن plugin_scripts () {wp_enqueue_script ('jquery')؛ wp_enqueue_script ('flexslider'، plugins_url ('js / jquery.flexslider-min.js'، __FILE__)، سرنی ('jquery')، '2.2'، غلط)؛ wp_enqueue_script ('تعریف'، plugins_url ('js / testimonials.js'، __FILE__)، سرنی ('jquery')، '1.0'، غلط)؛ wp_enqueue_style ('flexsliderCSS'، plugins_url ('سی ایس ایس / flexslider.css'، __ فائلہ)، غلط، '2.2'، 'تمام')؛ wp_enqueue_style ('تعریف سی ایس ایس'، plugins_url ('سی ایس ایس / تعریفیں. سی ایس ایس'، __FILE__)، غلط، '1.0'، 'سب')؛ } add_action ("wp_enqueue_scripts"، "plugin_scripts")؛

یہ وہی ہے جو ہم کر رہے ہیں:

  • WP سے بات کرتے ہوئے ہمارے پلگ ان کا نام کیا ہے، مصنف، یہ کیا کرتا ہے
  • ایک فنکشن تشکیل دے رہا ہے، جہاں ہم باقاعدہ سکرپٹ (جیسے jQuery) اور اپنی مرضی کے سکرپٹ (جیسے flexslider)، اور Stylesheets ڈالیں.
  • سکرپٹ فنکشن کو اپنے ڈیفالٹ سکرپٹ میں کال کرنے کے لئے WP سے بات کرتے ہیں، لہذا وہ اصل میں صفحات میں بھری ہوئی ہو جائیں گے.

یہ بہت اچھا ہے، لیکن اصل میں / js اور / سی ایس ایس کے تحت فائلوں کو بنانے کے لئے مت بھولنا. آپ صرف ان کے ڈیمو مواد میں ڈاؤن لوڈ کر سکتے ہیں لہذا آپ کو flexslider فائلوں کو تلاش کرنے کے لئے بہت کچھ کھودنے کی ضرورت نہیں ہے.

اب ہمارے پاس تمام بنیادی چیزیں ہیں جو ہم مضحکہ خیز حصہ شروع کر سکتے ہیں.

اپنی مرضی کے مطابق پوسٹ کی قسم

ڈیفالٹ کے مطابق، ورڈپریس میں 2 عام پوسٹ کی اقسام، صفحات اور خطوط ہیں. لیکن اس میں بہت زیادہ داخلی پوسٹ کی اقسام بھی شامل ہیں (جیسے منسلکات)، لہذا "پوسٹ کی قسم" تعریف ہے: آپ کو ذخیرہ کرنے کی ضرورت ہر قسم کے ڈیٹا.

جیسا کہ ہمارے پلگ ان ایک نئی فعالیت تخلیق کرے گی WP اس کو ذخیرہ کرنے کے لئے ایک جگہ نہیں ہے، لہذا ہمیں اسے بنانے کی ضرورت ہے. چھوٹی گھاس سے مت ڈرنا، یہ بہت آسان ہے، آپ اس کوڈ کو استعمال کرسکتے ہیں:

// پوسٹ کی قسم کی تشکیل تخلیق کرنے کے لئے سیاہ جادو تخلیق کریں_post_type () {register_post_type ('تعریف'، // نئی پوسٹ کی قسم صف ('لیبلز'>> array ('name' => __ ('تعریف')، 'singular_name' => __ ('تعریف'))، 'عوامی' => سچ، / * پوسٹ کی نوعیت عوامی استعمال کیلئے ہے. اس میں سامنے کے آخر اور WP- منتظم میں. * / 'حمایت' => ​​array ('عنوان '،' ایڈیٹر '،' تھمب نیل '،' custom_fields ')،' درجہ بندی '=> غلط))؛ }

یہاں ہم صرف رجسٹریشن_post_type () تقریب کا استعمال کرتے ہوئے WP سے کہا کہ "اے بڈ، ہمیں اس قسم کے ڈیٹا ذخیرہ کرنے کی ضرورت ہے، برائے مہربانی اسے حاصل کرنے کیلئے تیار رہیں".

ہم نے اسے بھی بتایا کہ اس قسم کے اعداد و شمار کو "تعریف" کہا جاتا ہے، یہ عوامی رسائی کے لئے دستیاب ہونا چاہئے (لہذا یہ اصل میں اس کے لئے آپ کی ڈیش بورڈ میں ایک نیا مینو آئٹم بنانا ہے)، اس شعبوں کو جو ہمیں اس کی ضرورت ہے، اور اگر یہ درجہ بندی ہے یا نہیں (جیسا کہ صفحات جیسے ہمارے والدین اور بچے کے صفحات ہیں).

پھر ہمیں ہر بار جب ہم ورڈپریس لوڈ کرتے ہیں تو اسے کال کرنے کی ضرورت ہے. یہ ہک یہ کرے گا:

add_action ('init'، 'create_post_type')؛

اپنی مرضی کے شعبوں

اب ہماری اپنی مرضی کے مطابق پوسٹ کی نوعیت عنوان (شخص کا نام)، مواد (شخص کی تعریف)، ایک تصویر (نمایاں تصویر) ہے لیکن یہ ایک لنک نہیں ہے، کیونکہ اگر آپ کے بارے میں بات کرنے کے لئے کافی اچھا ہے، تو آپ کو کم سے کم لنک کرنا چاہئے. ان کی سائٹ، دائیں؟

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

سب سے پہلے ہمیں ایک نیا میٹابکس بنانے کی ضرورت ہے، جو آپ کے پوسٹ ایڈریس کے علاقے میں آپ کے اچھے پینل ہیں، ہر چھوٹا سا پینل ایک میٹابکس ہے. یہ فنکشن تخلیق اور اسے کال کریں گے:

// یو آر ایل میٹا باکس فیلڈ فنکشن شامل کریں add_custom_metabox () {add_meta_box ('custom-metabox'، __ ('link')، 'url_custom_metabox'، 'testimonials'، 'side'، 'low')؛ } add_action ('admin_init'، 'add_custom_metabox')؛

add_meta_box () فنکشن ان پیرامیٹرز کی ضرورت ہے:

  1. ID - اس کے لئے منفرد شناختی والا. آپ یہاں "غیر متحرک کھانے - اندردخش" یا "تعریف کا لنک" جیسے منفرد استعمال کرسکتے ہیں. جو کچھ بھی اندرونی طور پر استعمال کیا جا سکتا ہے
  2. عنوان - صارف کے لئے کیا دکھایا جائے گا؟ یہاں __ () فنکشن کا استعمال کرنا ضروری ہے، یہ ایسا فنکشن ہے جو صارفین کو غیر ملکی زبانوں سے .po فائلوں کے ساتھ آپ کے پلگ ان ترجمہ کرنے کے لئے (پلگ ان فائلوں میں ترمیم کے بغیر) کی اجازت دیتا ہے.
  3. کالب بیک - اس تقریب میں جہاں آپ میٹابکس کی اصل مواد ہیں
  4. پوسٹ کی قسم - ہمارے معاملے میں ہم چاہتے ہیں کہ یہ صرف تعریف کے لئے نظر آئیں
  5. اس مضمون - جہاں آپ اس صفحہ میں ظاہر کرنا چاہتے ہیں
  6. ترجیح - اگر یہ اسی پوزیشن کی دوسری اشیاء یا ان کے بعد ہونا چاہئے

اب ہمیں url_custom_metabox () تقریب بنانے کی ضرورت ہے، کیونکہ ہم نے اسے بلایا ہے.

// ایڈمن ایریا فنکشن کے لئے ایچ ٹی ایم ایل url_custom_metabox () {عالمی $ پوسٹ؛ ll urlink = get_post_meta ($ پوسٹ-> ID ، 'urlink' ، سچ)؛ // توثیق! اگر (! preg_match ("/ http (s؟): ///"، $ urlink) && $ urlink! = "") {$ غلطیاں = "یہ یو آر ایل درست نہیں ہے"؛ ؛ urlink = "http: //"؛ output // آؤٹ پٹ انویلڈ یو آر ایل میسج اور ان پٹ فیلڈ میں (: isset ($ غلطیاں)) cho بازگشت $ غلطیاں شامل کریں۔ }؟> <p> <label for = "siteurl"> URL: <br /> <ان پٹ id = "سائٹورل" سائز = "37" نام = "سائٹورل" ویلیو = "<؟ php if (isset ($ urlink)) ) cho بازگشت $ urlink؛}؟> "/> </label> </p> <؟ php}

ٹھیک ہے، اب سادہ انگریزی میں اس کا ترجمہ:

  • عالمی متغیر $ اشاعت بلایا جاتا ہے، لہذا ہم یہ جان سکتے ہیں کہ موجودہ آئٹم کے POSTID کیا ہے
  • ہم URL کے لئے موجودہ قیمت لوڈ کریں
  • ہم اس بات کی توثیق کرتے ہیں کہ صارف کی قیمت درست ہے. اگر کم از کم ایک "http" یا "https" واقعہ موجود ہے تو قیمت ٹھیک ہے، دوسری صورت میں یہ درست ہے اور ہمیں ڈیفالٹ قدر استعمال کرنا ہوگا.
  • پھر اگر کوئی ہے تو ہم غلطیاں دکھائیں
  • اب ہم اصل ایچ ٹی ایم ایل شروع کرتے ہیں، ان پٹ فیلڈ میں ڈیفالٹ قدر شامل کرتے ہیں جیسے ہم پی ایچ پی میں ہیں

اس موقع کے بعد ہمیں صارف کی طرف سے بھیجا جا رہا ہے اصل میں بچانے کی ضرورت ہے. ہم "save_post" ہک کا استعمال کریں گے، لہذا ورڈپریس ہر ایک وقت کو بچاتا ہے جو اس فنکشن کو کال کریں گے:

// اپنی مرضی کے مطابق فیلڈ کے اعداد و شمار کو بچاتا ہے save_custom_url ($ post_id) {global $ post؛ اگر (جاری رکھیں ($ _ POST ['siteurl'])) {update_post_meta ($ post-> ID، 'urllink'، $ _POST ['siteurl'])؛ }} add_action ('save_post'، 'save_custom_url')؛

یہاں ہم صرف اس بات کی جانچ پڑتال کریں گے کہ "سائل لنک" کہا جاتا ہے کسی بھی پوسٹ کے اعداد و شمار جو ہمارے فیلڈ کا نام ہے. اگر وہاں بیٹھک ہے تو چلو اسے بچائے.

ہر چیز کے بعد، یہاں یہ ہے کہ آپ کے نئے گواہ صفحے کیسے دیکھیں گے:

نئی تعریف

ہمارے اپنی مرضی کے ڈیٹا کو لوڈ کر رہا ہے

اب ہمیں اصل میں ہماری اشیاء کو لوڈ کرنے کی ضرورت ہے، اور ہم get_posts () تقریب کا استعمال کریں گے، زیادہ تر وجہ سے ہمارے پاس صرف آسان ڈیٹا ہے لہذا ہمیں ایک مناسب WP لوپ کی ضرورت نہیں ہے (جو کہ بہت زیادہ ڈی بی کالز شامل ہو گی اور ہم واقعی اس کی ضرورت نہیں ہے).

لہذا، سب سے پہلے ہماری ویب سائٹ کے لنک حاصل کرنے کے لئے ایک فنکشن تشکیل دے، اگر کوئی ہے تو.

// واپسی یو آر ایل کے لئے پوسٹ حاصل get_url ($ پوسٹ) {$ urllink = get_post_meta ($ پوسٹ -> ID، 'urllink'، سچ)؛ $ urllink واپس؛ }

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

// تعریفی تقریب لوڈ_ٹیسٹیمونلز ($ a) {gs آرجس = سرنی ("post_type" => "تعریف") ظاہر کرنے کے لئے مختصر کو رجسٹر کرنا؛ اگر (isset ($ a ['رینڈ'])) && $ a ['رینڈ'] == سچ ہے) $ gs آرگس ['آرڈربی'] = 'رینڈ'؛ } if (isset ($ a ['max'])) {gs آرگس ['پوسٹس_پر_پیج'] = (انٹ) [ا ['میکس']؛ } // تمام تعریفیں مل رہی ہیں $ پوسٹس = get_posts (gs آرگس)؛ // HTML OUTPUT} add_shortcode ("تعریف" ، "لوڈ_ٹیسٹیمونلز")؛

جیسا کہ آپ دیکھ سکتے ہیں کہ ہمارے پاس مختصر شارٹ ویوٹس ہیں اور $ args array پر منظور کرتے ہیں جب وہ درست کرتے ہیں، اس شکل میں کہ ورڈپریس اس کی ضرورت ہے، لہذا ہم ان کا استعمال کرتے ہوئے خطوط لوڈ کرسکتے ہیں.

اب ہمیں وہاں کچھ ایچ ٹی ایم ایل کوڈ شامل کرنے کی ضرورت ہے، فکسسسائڈر کی ڈیفالٹ ڈھانچے کے بعد. یہاں ہے کہ یہ کس طرح نظر آئے گا:

گونج <div> '؛ گونج '<ul>'؛ foreach ($ پوسٹ کے طور پر $ اشاعت) {// انگوٹھے تصویر $ url_thumb = wp_get_attachment_thumb_url (get_post_thumbnail_id ($ پوسٹ-> ID))؛ $ link = get_url ($ post)؛ گونج '<li>'؛ اگر (خالی ($ url_thumb)) {گونج '<img src = "'. $ url_thumb. '' /> '؛ } گونج '<h2>'. $ پوسٹ-> post_title. '</ h2>'؛ اگر (خالی ($ پوسٹ - post_content)) {گونج '<p>'. $ پوسٹ-> post_content. '<br />'؛ } اگر (خالی ($ لنک)) {گونگا '<a href="'.$link.'"> سائٹ پر جائیں </a> </ p>'؛ } گونج '</ li>'؛ } گونج '</ ul>'؛ گونج '</ div>'؛

انتظار کریں، لیکن ہم پی ایچ پی کی تقریب کے اندر HTML کوڈ کیوں بناؤ گے؟ یہی وجہ ہے کیونکہ ہم شرط مواد کو صرف اس صورت میں لوڈ کرسکتے ہیں جب صارف نے مواد شامل کیا ہے، لہذا آپ کو خالی ایچ ٹی ایم ایل نہیں پڑے گا، صرف آپ کے لے آؤٹ گزرنے کا انتظار کر رہے ہیں.

سائڈبار کے بارے میں کیا؟

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

add_filter ('widget_text'، 'do_shortcode')؛

اس کے بعد کیا ہے؟

تو، کیا آپ نے اس سبق کا لطف اٹھایا؟ آپ کے شارٹ شارٹ کے لۓ آپ کیا اختیار کریں گے؟ کیا آپ مستقبل کے خطوط کے لئے کوئی خیالات رکھتے ہیں؟ تبصرے کے سیکشن کا استعمال کرتے ہوئے ہمیں بتائیں

روچسٹر اولیورا کے بارے میں

میں اسجوبا (ایم جی)، برسل سے ویب ڈیزائنر اور کاروباری ادارے ہوں. میں غیر معمولی موضوعات کے بارے میں لکھنا چاہتا ہوں اور کچھ ٹھنڈی چیزیں کر رہا ہوں.

رابطہ کریں: