کد نویسی پلاگین وردپرس
کد نویسی پلاگین وردپرس: چه بخواهید یک افزونه سفارشی برای سایت خود ایجاد کنید یا افزونه خود را به صورت عمومی منتشر کنید، این آموزش توسعه افزونه وردپرس به شما کمک میکند یاد بگیرید که چگونه شروع کنید.
آشنایی با اصول توسعه پلاگین وردپرس
اگر میخواهید سایت وردپرس خود را سفارشی کنید، نمیتوانید فقط به ویرایش فایلهای اصلی وردپرس بروید. این به این دلیل است که هر بار که سایت وردپرس خود را به روز میکنید، آن فایلها به طور کامل بازنویسی میشوند.
برای دور زدن این موضوع، افزونههای وردپرس به شما امکان میدهند با استفاده از یک یا چند تابع PHP، عملکرد را اضافه، اصلاح و گسترش دهید.
برای ایجاد یک افزونه وردپرس جهت طراحی سایت، به چند عنصر اساسی تکیه خواهید کرد:
- قلابها (عملکردها و فیلترها)
- بلوک ها
- کدهای کوتاه
- ابزارک ها
با توجه به تمرکز جدید وردپرس بر ویرایشگر گوتنبرگ، کدهای کوتاه و ویجتها در حال حذف شدن هستند و به اندازه گذشته اهمیت ندارند.

قلابها (عملکردها و فیلترها)
هوکها چیزی هستند که به شما امکان میدهند بدون نیاز به ویرایش فایلهای اصلی با بخشهای مختلف وردپرس تعامل داشته باشید. به عنوان مثال، یک عملکرد به شما امکان میدهد یک تابع کد را در یک نقطه خاص از زمان یا در قسمت خاصی از وب سایت اجرا کنید.
عملکردهای وردپرس در دو قالب اصلی وجود دارند – عملکردهای اکشن و عملکردهای فیلتر:
عملکردهای اکشن – اینها به شما امکان میدهند فرآیند جدیدی را به وردپرس اضافه کنید . به طور خاص، آنها به شما این امکان را میدهند که یک تابع را در یک نقطه خاص از زمان در سایت وردپرس اجرا کنید. به عنوان مثال، یک اکشن هوک به شما امکان میدهد زمانی که کاربر یک پست را ذخیره میکند، چیزی را اجرا کنید.
عملکردهای فیلتر – اینها به شما امکان میدهند فرآیندی را برای تغییر یا دستکاری دادههای آن بدون نیاز به ویرایش خود منبع تغییر دهید. به طور خاص، آنها به شما این امکان را میدهند که دادهها را قبل از ذخیره آنها در پایگاه داده یا رندر کردن کد در قسمت جلویی بازیابی و اصلاح کنید.
- عملکردهای اکشن به شما امکان انجام کارها را میدهند.
- عملکردهای فیلتر به شما امکان میدهند چیزها را تغییر دهید .
کدهای کوتاه
کدهای کوتاه روش قدیمی هستند که به کاربران راهی برای تعامل با افزونه شما میدهند. در گذشته، تقریباً همه افزونههای وردپرس به کدهای کوتاه متکی بودند تا به کاربران امکان درج محتوای افزونه را در یک پست یا صفحه ارائه دهند. با این حال، در روش “مدرن” وردپرس، افزونهها میتوانند از بلوکها به جای کدهای کوتاه استفاده کنند.
با توجه به آنچه گفته شد، بسیاری از افزونهها در حال حاضر هم از بلوکها و هم از کدهای کوتاه پشتیبانی میکنند، بنابراین شما میخواهید در مورد گنجاندن پشتیبانی از کد کوتاه در افزونه خود فکر کنید.
با استفاده از تابع add_shortcode میتوانید کدهای کوتاه اضافه کنید .
اجزای یک افزونه وردپرس
یک افزونه وردپرس دارای چند مؤلفه مختلف خواهد بود که برخی از آنها بدون توجه به هر چیزی مورد نیاز هستند و برخی از آنها به پیچیدگی افزونه شما بستگی دارد.
یک افزونه حداقل به این عناصر نیاز دارد.
- پوشه اصلی افزونه – این پوشه فایل(های) افزونه شما را سازماندهی میکند.
- فایل اصلی پلاگین (.php) با هدر – حاوی اطلاعات افزونه به همراه برخی/همه کد افزونه است.
بسیاری از افزونهها شامل این عناصر اضافی هستند
- زیرپوشهها – میتوانید از آنها برای سازماندهی فایلها و داراییهای افزونه استفاده کنید.
- اسکریپتها – در صورت نیاز میتوانید جاوا اسکریپت را در صف قرار دهید.
- Stylesheets – در صورت نیاز میتوانید CSS را در صف قرار دهید.
- txt – اگر قصد دارید افزونه خود را به WordPress.org ارسال کنید، ضروری است، زیرا WordPress.org از این برای پر کردن صفحه افزونه شما در فهرست استفاده میکند.

توسعه پلاگین یا افزونه وردپرس
اکنون که اصول توسعه افزونه وردپرس را فهمیدید، بیایید به مراحل واقعی نحوه ساخت افزونه وردپرس بپردازیم:
- مقدمات (نام و الزامات) را آماده کنید
- پوشه و ساختار افزونه خود را ایجاد کنید
- هدر فایل افزونه را اضافه کنید
- کد را بنویسید/ اضافه کنید
- در وردپرس مستقر شود
این مراحل در زمانی که به آنها اختصاص میدهید برابر نیستند. مرحله چهارم، جایی که در واقع کد افزونه خود را مینویسید، بدیهی است که بخش عمدهای از وقت شما را به خصوص برای پلاگینهای پیچیدهتر میگیرد.
با توجه به آنچه گفته شد، تمام مراحل برای ایجاد یک افزونه برای استفاده موفقیت آمیز در سایت وردپرس شما مهم هستند.
- پاسیک (نام و الزامات) را آماده کنید.
قبل از شروع کار با کد و فایلهای واقعی افزونه خود، باید کمی کار کنید تا اصول اولیه را آماده کنید.
ابتدا، باید قبل از شروع کدنویسی، الزامات افزونه خود را به وضوح بررسی کنید. در اینجا چند سؤال رایج وجود دارد که باید بتوانید به آنها پاسخ دهید:
- ویژگیهای افزونه چیست؟
- کاربران چگونه آن ویژگیها را کنترل خواهند کرد؟
- افزونه باید چه ورودیهایی را از کاربران بپذیرد؟
- طراحی جلویی چگونه خواهد بود (در صورت وجود)؟
- آیا این افزونه با سایر افزونهها یا خدمات ادغام میشود؟
- چه مشکلات احتمالی سازگاری ممکن است افزونه داشته باشد؟
- پاسخ به این سؤالات بر نحوه رویکرد شما به کدنویسی افزونه تأثیر میگذارد.
اگر میخواهید افزونه را به صورت عمومی منتشر کنید، باید نامی برای افزونه خود نیز بیاورید. برای جلوگیری از مشکلات نام پلاگین خود، در اینجا چند نکته وجود دارد:
- بررسی کنید که آیا در حال حاضر افزونهای با آن نام وجود دارد، زیرا ممکن است باعث سردرگمی شود.
- مسائل مربوط به علامت تجاری را در نظر داشته باشید. برای مثال، نمیتوانید از «وردپرس» در نام رسمی افزونه خود استفاده کنید، هرچند میتوانید از مخفف «WP» استفاده کنید. به همین ترتیب، در استفاده از علائم تجاری دیگر برندها مراقب باشید. به عنوان مثال، بسیاری از افزونههایی که از “فید اینستاگرام” در نام خود استفاده میکردند، مجبور شدند نام خود را تغییر دهند.
- پوشه و ساختار افزونه خود را ایجاد کنید.
- به طور پیش فرض، وردپرس تمام افزونهها را در پوشه …/wp-content/plugins ذخیره میکند. تمام فایلهای افزونه شما در داخل پوشهای در آن دایرکتوری قرار میگیرند. به عنوان مثال – …/wp-content/plugins/hello-dolly/ .
- پیچیدگی این پوشه به پیچیدگی افزونه شما بستگی دارد.
- برای پلاگینهای ساده، فقط میتوانید از یک فایل PHP استفاده کنید. در چنین مثالی، تمام عملکردهای افزونه شما در …wp-content/plugins/hello-dolly/plugin-file.php در دسترس است.
- برای پلاگینهای پیچیده تر، ممکن است به ساختارهای پیچیده تری نیاز داشته باشید. به عنوان مثال، ممکن است زیر شاخههای جداگانهای برای انواع مختلف فایلها ایجاد کنید.
- در چنین مواردی، ممکن است فایلهای CSS و جاوا اسکریپت را در wp-content/plugins/hello-dolly/assets، قالبها در wp-content/plugins/hello-dolly/templates و غیره ذخیره کنید.
- برای پلاگینهای پیچیده تر، میتوانید الگوی طراحی مدل-نما-کنترلر را نیز در نظر بگیرید. در اینجا، چارچوب وردپرس MVC میتواند به شما در سرعت بخشیدن به توسعه کمک کند.
برای مثال ساده ما، ما فقط به یک فایل PHP برای پلاگین نیاز داریم.
- هدر فایل افزونه را اضافه کنید.
هنگامی که فایل PHP افزونه اصلی خود را ایجاد میکنید، باید یک هدر فایل اضافه کنید تا به وردپرس کمک کند تا افزونه شما را درک کند.
هدر فایل پلاگین یک بلوک نظرات PHP است که شامل جزئیات اساسی در مورد افزونه شما، مانند نام، شماره نسخه، نویسنده، مجوز و غیره است.
وردپرس از این اطلاعات برای نمایش جزئیات افزونه شما در قسمت Plugins داشبورد استفاده میکند.
- کد را بنویسید/ اضافه کنید.
اکنون زمان بخش سرگرم کننده است – افزودن عملکرد واقعی برای افزونه خود!
باز هم، اینجا جایی است که اکثر توسعه افزونه وردپرس اتفاق میافتد، بنابراین طبیعتاً زمان بیشتری را نسبت به مراحل قبلی از شما میگیرد.
- مستقر در وردپرس
پس از اتمام افزونه خود، آماده بسته بندی آن و استقرار آن در وردپرس هستید.
ساده ترین گزینه و ساده ترین راه برای اینکه به دیگران اجازه دهید از افزونه شما استفاده کنند، این است که پوشه اصلی افزونه خود را به عنوان یک فایل ZIP بسته بندی کنید.
شما یا سایرین میتوانید با رفتن به پلاگین → افزودن جدید و آپلود فایل ZIP ، افزونه را مستقیماً از داشبورد وردپرس نصب کنید.
سخن پایانی
در این مقاله سعی کردیم اطلاعات مناسبی در رابطه با توسعه پلاگین وردپرس به شما دوستان عزیز بدهیم. جهت اطلاع از قیمت طراحی سایت با متخصصان ما در شرکت وب نگاران پارسه تماس بگیرید. شمارههای تماس: 02166124149 – 0216692804
سوالات متداول
مزایای افزونههای وردپرس چیست؟
افزونهها عملکرد سایت وردپرس شما را افزایش میدهند. ما افزونههایی ایجاد میکنیم تا اطمینان حاصل کنیم که هسته وردپرس را تغییر نمی دهیم، که با هر به روز رسانی وردپرس بازنویسی میشود.
آیا باید افزونه جدیدی برای وب سایت خود ایجاد کنم؟
بستگی دارد. در حال حاضر هزاران افزونه موجود وجود دارد که باید آنها را بررسی کنید. اگر پلاگین مناسبی برای خود پیدا نکردید، به فکر ایجاد افزونهای باشید که متناسب با نیاز شما باشد.
افزونههای وردپرس کجا ذخیره میشوند؟
هر افزونه وردپرسی که دانلود و بر روی سایت خود نصب میکنید در دایرکتوری /wp-content/plugins/ ذخیره میشود . در نتیجه، هر افزونهای که ایجاد میکنید نیز باید در همان دایرکتوری ذخیره شود.
برای شروع توسعه افزونه وردپرس به چه مهارتهایی نیاز دارم؟
برای ایجاد یک افزونه وردپرس، باید درک کاملی از فناوریهای اصلی قدرت وردپرس داشته باشید: HTML/CSS، جاوا اسکریپت برای قسمت فرانت و PHP، SQL برای قسمت بک اند.