برخی کاربران وردپرس همیشه کدها را به فایل توابع یا functions.php اضافه میکنند و برخی دیگر هر تابع و عمل خاص را به صورت یک پلاگین ساده ذخیره میکنند تا به راحتی با فعال و غیرفعال کردن افزونه از لیست افزونههای نصبشده، سایت خویش را مدیریت کنند.
ایجاد پلاگین سفارشی و دلخواه در ورپرس بسیار ساده است و حتی ممکن است در عرض چند دقیقه، یک پلاگین ساده برای کاری خاص ایجاد کنید.
در ادامه به روش ایجاد پلاگینهای ساده در WordPress میپردازیم. با ما باشید.
ایجاد پلاگین جدید برای WordPress
برای ایجاد پلاگین وردپرس، یک فولدر ایجاد کنید و نام آن را همان نام پلاگین بگذارید. در این فولدر نیز یک فایل متنی ساده با پسوند php و عنوان پلاگین ایجاد کنید. به عنوان مثال:
- نام فولدر را plugin_name انتخاب کنید.
- نام فایل را plugin_name.php انتخاب کنید.
برای ویرایش کردن این فایل متنی، میتوانید از نرمافزار سادهای مثل Notepad ویندوز استفاده کنید اما اگر نرمافزاری در اختیار دارید که مخصوص برنامهنویسی است و سینتکسها و پرانتزهای باز و بسته شده و گیومهها و غیره را هایلایت میکند، حتماً از آن استفاده کنید چرا که جلوی اشتباهات سهوی را میگیرد.
حال در فایل PHP، کد زیر را اضافه کنید که نام و نسخه و لینک صفحهی پلاگین و همینطور سازندهی آن را مشخص میکند. در خط آخر دستوری اضافه شده که در صورت دسترسی مستقیم به این اسکریپت، آن را متوقف میکند و در واقع یک گزینهی اضافی برای پلاگین شماست.
به عنوان مثال میتوانید نام خودتان و وبلاگ شخصی را جایگزین کنید
ایجاد نوع جدید محتوا توسط پلاگین در وردپرس
ممکن است هدف شما از ساخت پلاگین جدید این باشد که روی نوع خاصی از محتوای سایت عمل کند. در این صورت باید ابتدا یک نوع محتوا یا پست جدید تعریف کنید. نوع سفارشی میتواند عکس باشد، محصولی در فروشگاه باشد و یا یک مطلب از بخش وبلاگ سایت شما باشد.
برای ایجاد نوعی سفارشی و جدید از محتوای سایت، کدهای زیر را در ادامهی فایل PHP اضافه کنید:
در کدهای فوق از تابع register_post_type برای اضافه کردن نوع جدیدی از محتوا در وردپرس استفاده شده است. در این تابع یک تابع دیگر که مربوط به تعریف مشخصات و عنوان و ترجمهی گزینههای مربوطه به پست جدید در منوهای وردپرس است، فراخوانی شده و در واقع میتوانید گزینهها را به صورت فارسی یا به هر زبان دیگری با متن دلخواه ایجاد کنید.
دستور add-action نیز یک تابع دلخواه را به یک اکشن یا عمل در وردپرس اضافه میکند. از این دستور برای اضافه کردن تابع تعریف پست به Init استفاده شده که در حقیقت پس از بارگذاری وردپرس و قبل از ارسال هر نوع هدری، عمل میکند.
نصب پلاگین ساختهشده در وردپرس و مشکل حروف فارسی
در نهایت فایل PHP و تمام محتویات فولدر پلاگین را به صورت ZIP درآورید و دقت کنید که نام فایل زیپ مثل نام فولدر پلاگین و فایل PHP باشد. اگر از لینوکس و شل Bash استفاده میکنید، دستور زیر را در ترمینال اجرا کنید:
حال میتوانید فایل زیپ را از بخش اضافه کردن افزونههای وردپرس، آپلود کنید تا نصب شود. البته آپلود مستقیم در فولدر پلاگینهای وردپرس نیز امکانپذیر است اما در این صورت پس از آپلود میبایست فایل زیپ را اکسترکت کنید.
پس از نصب، روی دکمهی فعالسازی افزونه کلیک کنید و سپس به لیست افزونههای فعال مراجعه کنید.
همانطور که در تصویر فوق مشاهده میکنید، کاراکترهای فارسی به درستی شناخته نشده است. برای حل کردن این مشکل، ابتدا تمام متن موجود در فایل PHP را انتخاب کرده و کپی کنید و سپس از منوی Encoding نرمافزار Notepad++ گزینهی Encode in UTF-8-BOM را انتخاب کنید تا نوع ایندینگ برای شناسایی حروف فارسی مناسب شود. حال تمام متن را مجدداً انتخاب کرده و متن قبلی را پیست کنید.
حال مجدداً پلاگین را زیپ کرده و آپلود و فعال کنید. این بار همان طور که در تصویر زیر مشاهده میکنید، نام پلاگین، توضیحات آن، نگارش یا همان نسخه و نام سازنده به درستی نمایش داده شده است. برای کارکرد صحیح پلاگینهای ساده، نام پلاگین را به صورت انگلیسی تایپ کنید.
پس از فعال کردن پلاگین، همانطور که در تصویر زیر مشاهده میکنید، در منوی کنار صفحهی داشبورد وردپرس، گزینهی جدیدی برای ایجاد محتوا اضافه شده است:
ایجاد صفحهی تنظیمات افزونهی WordPress
برای پلاگینهای بسیار ساده شاید نیازی به صفحهی تنظیمات نداشته باشید اما با پیچیدهتر شدن عملکردهای پلاگین، قطعاً صفحهی تنظیمات کمک زیادی به سادگی کار خواهد کرد. برای ایجاد یک گزینهی جدید در صفحهی تنظیمات، دستورات زیر را به فایل PHP پلاگین اضافه کنید:
در دستورات فوق، از add_action برای فراخوانی تابعی که آپشن تستی جدیدی را اضافه میکند، استفاده شده است.
و برای ایجاد صفحه و فعال کردن نمایش آن در منوی اضافه کردن پستی از نوع سفارشی، کد زیر را اضافه کنید:
در کدهای از اکشن جدید admin_menu برای افزونه گزینهی جدید در منو استفاده شده و تابع مشخصات گزینهی جدید و عملکرد آن تعریف شده است. در خطوط آخر یک فایل php دیگر به اسم settings.php در فولدر پلاگین فراخوانی شده، بنابراین به پنل مدیریت سرور یا هاست مراجعه کنید و ابزار مدیریت فایل را اجرا کنید. سپس در فولدر پلاگین سفارشی خویش، یک فایل php جدید با عنوان settings.php بسازید.
و در فایل settings.php نیز دستورات زیر را قرار بدهید:
تابع add_submenu_page برای اضافه کردن زیرمنو، تابع plugin_dir_path برای یافتن فولدر پلاگین فعلی، تابع settings_fields برای تعریف کردن فیلدهای تنظیمات و تابع get_options برای دریافت آپشنها، در کدهای فوق به کار رفته است.
به این ترتیب در داشبورد وردپرس گزینهی جدیدی اضافه میشود و با کلیک روی آن، صفحهی تنظیمات حاوی یک فرم ساده و آپشن تستی از نوع فیلد متنی نمایان میشود.
به این ترتیب در زمانی کم، یک پلاگین ساده ایجاد کردهاید که کارکرد خاصی ندارد و صرفاً مقدمات را برای دریافت تنظیمات متنی فراهم میکند تا در آینده بتوانید از متن وارد شده در صفحهی تنظیمات، برای انجام کار خاصی استفاده کنید.
تمام دستورات فایل plugin_name.php به این صورت است:
codeburstسیارهی آیتی