دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۴
  • شهریور

جلسه ۳۹ : مدیریت متادیتاهای پست در پلاگین

  • دسته‌بندی‌ها :
جلسه ۳۹ : مدیریت متادیتاهای پست در پلاگین
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      با عرض سلام و وقت به خیر خدمت کاربران سایت پی وی لرن به ویژه کاربرانی که به سیستم مدیریت محتوای قدرتمند وردپرس علاقمند هستند.
      به ” دوره متخصص وردپرس ” خوش آمدید!
      در این دوره قرار است توسعه و ارتقاء پلاگین های وردپرس را به صورت جامع و کامل بیاموزیم.
      فرقی نمی کند که در شرف نوشتن اولین پلاگین خود هستید و یا این که پنجاهمین پلاگین خود را می نویسید! امیدوارم این دوره برایتان مفید باشد.
      در این جلسه با مبحث ” مدیریت متادیتاهای پست در پلاگین ” رسماً سر فصل متادیتاها را در دوره متخصص وردپرس را آغاز می نماییم.

      مدیریت متادیتاهای پست در پلاگین

      برای افزودن متادیتاها می تواند به راحتی به کمک تابع ()add_post_meta صورت بپذیرد.
      این تابع یک post_id ، meta_key ، meta_value و یک unique flag را می پذیرد.
      meta_key به این صورت است که افزونه شما مقدار متا را در جای دیگر کد شما ارجاع می دهد.
      چیزی مانند mycrazymetakeyname کار می کند ، اما پیشوند مربوط به افزونه یا موضوع شما و پس از آن توضیحی در مورد کلید می تواند مفیدتر باشد.

      wporg_featured_menu ممکن است مورد خوبی باشد.
      لازم به ذکر است که از همان meta_key ممکن است چندین بار برای ذخیره تغییرات متادیتا استفاده شود.

      meta_value می تواند یک رشته ، عدد صحیح یا یک آرایه باشد.
      اگر آرایه باشد ، قبل از ذخیره شدن در بانک اطلاعات ، به صورت خودکار سریالی می شود.

      unique flag به شما امکان می دهد اعلام کنید که آیا این کلید باید یکتا باشد یا خیر.
      یک کلید غیر یکتا بخشی از یک پست است که می تواند غیر ثابت هایی چون قیمت را شامل شوند.
      اگر فقط قصد دارید یک قیمت برای یک پست داشته باشید ، باید آن را flag کرده و unique نمایید و meta_key فقط یک مقدار دارد.

      مشابه ()add_post_meta ، این تابع یک post_id ، meta_key ، meta_value و یک unique flag را می پذیرد.

      حذف متادیتا

      ()Delete_post_meta یک post_id ، meta_key و به صورت اختیاری meta_value می گیرد.
      این دقیقاً همان چیزی است که نام آن نشان می دهد.

      کاراکترهای فرار

      مقادیر پست متا پس از ذخیره شدن از طریق تابع ()stripslashes منتقل می شوند.
      بنابراین هنگام عبور از مقادیر (مانند JSON) که ممکن است شامل کاراترهای فرار باشد، باید مراقب باشید.

      مقدار JSON را نظر بگیرید.
      {“key”:”value with \”escaped quotes\””} :

      مثال : 

      Workaround

      با افزودن یک سطح بیشتر از escaping \ با استفاده از تابع ()wp_slash می توانید ()stripslashes را برای فراخوانی جبران کنید.

      مثال : 

      فیلدهای سفارشی پنهان

      اگر یک توسعه دهنده پلاگین یا پوسته وردپرس باشید و قصد استفاده از فیلدهای سفارشی را برای دخیره پارامترها دارید.
      بهتر است بدانید وردپرس زمینه های سفارشی که meta_key با شروع “_” (underscore) در لیست زمینه های سفارشی یا هنگام استفاده از تابع قالب ()the_meta نشان داده نمی شود را نشان می دهد.

      این توابع می توانند برای نمایش این فیلدهای سفارشی در یک روش غیر معمول با استفاده از تابع ()add_meta_box مفید باشند.

      مثال زیر می تواند یک فیلد یکتا سفارشی با یک meta_key name ‘_color’ و meta_value از ‘red را اضافه نمایید.
      اما فیلد سفارشی در نسخه ویرایش شده پست نمایش داده نخواهد شد.

      مثال : 

      آرایه های مخفی

      علاوه بر این اگر meta_key یک آرایه باشد حتی اگر نام meta_key را با یک underscore پیشوند کنید در نسخه ویرایش شده پست نمایش داده نخواهد شد.

      کلام آخر

      در این جلسه به مدیریت متادیتاهای پست در پلاگین پرداختیم.
      در جلسه بعدی
      با پی وی لرن همراه باشید.

      QR:  جلسه ۳۹ : مدیریت متادیتاهای پست در پلاگین
      به اشتراک بگذارید