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



  • ۴
  • شهریور

جلسه ۲۶ : استفاده از منوهای بالا در ساخت پلاگین

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

      مقدمه

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

      استفاده از منوهای بالا در ساخت پلاگین

      منوی سطح بالا : افزودن منوی سطح بالا

      برای افزودن یک منوی جدید سطح بالا به مدیریت وردپرس رفته و از تابع ()add_menu_page استفاده نمایید.

      مثال : 

      مثال

      در این مثال می خواهیم یک منوی جدید سطح بالا به نام “WPOrg” اضافه کنیم.
      اولین قدم ایجاد تابعی خواهد بود که به تولید HTML می پردازد.
      در این تابع ، بررسی های امنیتی لازم را انجام داده و گزینه هایی را که با استفاده از API تنظیمات ثبت کرده ایم ، ارائه خواهیم داد.

      توصیه می کنیم با استفاده از <div> در یک کلاس wrap، اقدام به بستن HTML خود نمایید.

      مثال : 

      مرحله دوم ثبت نام در فهرست WPOrg است.
      ثبت نام باید در طول هوک اکشن admin_menu رخ دهد.

      مثال : 

      استفاده از یک فایل PHP برای HTML

      بهترین روش برای کد قابل حمل ، ایجاد یک تابع فراخوان است که به فایل PHP شما نیاز دارد.

      به منظور کامل بودن و کمک به شما در درک انتقال کد ها، روش دیگری را نشان خواهیم داد:
      عبور از یک مسیر پرونده PHP به عنوان پارامتر menu_slug$ با یک پارامتر null $function.

      مثال : 

      حذف یک منوی سطح بالا

      برای حذف یک منوی ثبت شده از مدیریت وردپرس ، از تابع ()remove_menu_page استفاده کنید.
      حذف منوها مانع دسترسی مستقیم کاربران به آنها نمی شود.

      مثال : 

      نباید هرگز از این روش به عنوان روشی برای محدود کردن قابلیت های کاربر استفاده کرد.

      مثال

      در این مثال می خواهیم منوی “Tools” را حذف کنیم.

      مثال : 

      اطمینان حاصل کنید که منو قبل از حذف ، در هوک admin_menu ثبت شده است.
      یک شماره اولویت بالاتر برای ()add_action تعیین کنید.

      ارائه فرم ها

      برای پردازش ارسال فرم ها در صفحات مربوط به گزینه ها ، به دو چیز نیاز دارید:

      • از URL صفحه به عنوان خصیصه اکشن فرم action attribute استفاده کنید.
      • یک هوک به همراه slug که به وسیله  add_menu_page بازگدانی می شود؛ اضافه کنید.

      نکته

      تنها در صورت بروز مشکل در back-end این مراحل را دنبال کنید.
      برای این کار توصیه می شود به Settings API مراجعه نمایید.

      فرم خصیصه اکشن

      به عنوان اولین پارامتر menu_page_url () از پارامتر menu_slug$ از صفحه گزینه ها استفاده کنید.
      با استفاده از این تابع به طور خودکار از URL فرار کرده و به طور پیش فرض آن را تکرار می کنید.
      بنابراین می توانید مستقیماً از آن در تگ <form> استفاده کنید :

      مثال : 

      آموزش استفاده از منوهای بالا در ساخت پلاگین را با پردازش فرم ها به پایان می بریم.

      پردازش فرم

      function$ را که هنگام افزودن به صفحه مشخص می کنید فقط یک بار برای نمایش در صفحه فراخوانی می شود.
      این کار در هنگام  ارسال هدرها ممکن است موجب دردسر شود.
      برای مثال موجب ارسال (ریدایرکت ها) به مرورگر می شود.

      add_menu_page یک hookname$ را بازگردانی کرده و وردپرس اکشن “load-$hookname” را قبل از هر گونه خروجی HTML بازگردانی می کند.
      می توانید از این کار برای اختصاص یک تابع استفاده کنید که می تواند فرم را پردازش کند.

      نکته

      حتی اگر فرم ارسال نشده باشد؛ “load-$hookname” بارها قبل از صفحه گزینه ها نمایش داده خواهد شد.
      به خاطر پارامتر بازگردانی شده و اکشن در mind، مثال بالا به صورت زیر خواهد بود :

      مثال : 

      می توانید متناسب با نیاز خود wporg_options_page_submit را برنامه ریزی کنید.
      اما به خاطر داشته باشید که باید تمام بررسی های لازم را بصورت دستی انجام دهید ، از جمله :

      • آیا فرم ارسال شده است (‘POST’ === $ _SERVER [‘REQUEST_METHOD’]).
      • تأیید CSRF
      • اعتبار سنجی
      • Sanitization (ایمنی سازی)

      کلام آخر

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

      QR:  جلسه ۲۶ :  استفاده از منوهای بالا در ساخت پلاگین
      به اشتراک بگذارید