افزونه نویسی وردپرس در ذهن اکثر افراد کار سختی است. حتی بعضی از کسانی که برای وردپرس قالبهای مختلفی را طراحی میکنند و توسعه میدهند ممکن است اینطور فکر کنند. اگر شما همچنین تصوری دارید؛ در اینجا میخواهیم مطلب مهمی را با شما در میان بگذاریم. ساختن افزونه برای وردپرس، آنقدر هم که فکر میکنید کار سختی نیست. هرکس که در PHP مهارتهای اولیهای داشته باشد و بتواند در یک قالب وردپرس تغییراتی ایجاد کند؛ میتواند یک افزونه بسازد.
چرا میخواهید یک افزونه بسازید؟
اگر قبلاً برای وردپرس قالب طراحی کرده باشید؛ احتمالاً ترجیح میدهید که بهجای ساختن یک افزونهی جدید، یک قابلیت جدید به قالب خودتان اضافه کنید. البته موارد زیادی هم وجود دارد که انجام این کار بهتر است. اما در شرایطی هم بهتر است که یک قابلیت سفارشی از طریق ایجاد یک افزونه به وردپرس اضافه شود. ممکن است که شما بپرسید؛ چرا؟ برای جواب این سؤال، سناریوی زیر را در نظر بگیرید.
فرض کنید که شما قابلیت تغییر گراواتار پیشفرض به گراواتار شخصی خودتان را در قالب وردپرس خودتان توسعه دادهاید. تنها مسئلهی موجود این است که با تغییر قالب سایت، این قابلیت را از دست خواهید داد. اما اگر همان کد را به یک افزونه اختصاص میدادید؛ در صورت تغییر قالب سایت، همیشه این ویژگی را در دسترس خواهید داشت.
بنابراین افزونه نویسی وردپرس یک راهحل برای استفاده از یک ویژگی در قالبهای مختلف است.
افزونه نویسی وردپرس در پنج مرحلهی ساده
افزونه نویسی وردپرس در پنج مرحله، شاید در ابتدا کمی غیرممکن به نظر برسد. اما واقعاً شما میتوانید این کار را بهراحتی انجام دهید. در ادامه روند کار را به شما نشان میدهیم.
1 . دسترسی FTP به سایت خودتان
اولین کاری که شما باید انجام دهید این است که دسترسی FTP به سایت خودتان را فعال کنید. اگر در مورد FTP اطلاعاتی ندارید پیشنهاد میکنیم که ابتدا در مورد آن اطلاعات لازم را کسب کنید و سپس این آموزش را ادامه دهید.
2 . وارد پوشهی افزونههای وردپرس شوید
وقتی از طریق FTP به سایت خودتان دسترسی پیدا کردید؛ باید وارد پوشهی افزونههای وردپرس شوید. این پوشه معمولاً در مسیر /wp-content/plugins قرار دارد.
3 . یک پوشه برای افزونهی جدید خودتان بسازید
حالا که وارد پوشهی افزونههای سایت وردپرسی خودتان شدهاید؛ باید برای افزونهی خودتان یک پوشهی جدید در آن بسازید. پس یک پوشهی جدید ایجاد کرده و یک نام منحصربهفرد به آن اختصاص دهید. این نام میتواند شامل حروف کوچک انگلیسی و خط فاصله باشد؛ مثل my-first-plugin. وقتی این کار را انجام دادید؛ باید وارد پوشهای که ساختید شده و به مرحلهی بعد بروید.
4 . فایل PHP اصلی را برای افزونهی خودتان بسازید
در ادامه، باید فایل اصلی افزونهی خودتان را ایجاد کنید. برای این کار، یک فایل PHP را در پوشهی افزونهی خودتان ایجاد کرده و یک نام مشابه مانند my-first-plugin.php به آن اختصاص دهید. وقتی این کار را انجام دادید؛ این فایل اصلی افزونهی خودتان را بازکرده و برای اعمال تغییراتی در آن آماده شوید.
5 . اطلاعات افزونهی خودتان را وارد کنید
درنهایت کدهای زیر را در فایل مربوطه کپی کنید. توجه داشته باشید که در کدهای واردشده، نام افزونه و URI آن را بر اساس افزونهی خودتان ویرایش کنید.
<?php /** * Plugin Name: My First Plugin * Plugin URI: http://www.mywebsite.com/my-first-plugin * Description: The very first plugin that I have ever created. * Version: 1.0 * Author: Your Name * Author URI: http://www.mywebsite.com */
به همین راحتی! شما در آموزش فوق با کمترین مراحل ممکن، یک افزونهی وردپرس را ایجاد کردید. حالا میتوانید از داشبورد وردپرس خودتان این افزونه را فعال کرده و از آن استفاده کنید.
این افزونه چه کاراییهایی دارد؟
در اینجا احتمالاً شما سؤال میپرسید که این افزونه چهکارهایی انجام میدهد؟ درواقع این افزونه هیچ کاری انجام نمیدهد! ما در آموزش بالا مراحل ساخت یک افزونه را توضیح دادیم؛ نه یک افزونه که کار خاصی هم انجام دهد!
هدف ما از ارائهی این آموزش، نشان دادن سادگی افزونه نویسی وردپرس بود. فقط کافی است یکبار مراحل بالا را طی کنید تا پس از آن برای تغییر آن به یک افزونهی کاربردی آمادهباشید.
انجام یک کار ساده را به افزونهی خودتان اضافه کنید
حالا که شما یک افزونه دارید؛ میخواهیم یک عملکرد ساده را به آن اضافه کنیم.
سادهترین راه برای اینکه در وردپرس کاری را انجام دهیم؛ استفاده از اکشنها (Actions) و فیلترها (Filters) است. برای توضیح این مسئله، میخواهیم یک اکشن ساده را که به پایین همهی پستهای سایت شما یک جمله اضافه میکند را ایجاد کنیم. برای این کار، کد زیر را در فایل اصلی افزونهی خودتان کپی کنید. این کد را باید در پایین قسمت اطلاعات افزونه قرار دهید.
add_action( 'the_content', 'my_thank_you_text' ); function my_thank_you_text ( $content ) { return $content .= '<p>Thank you for reading!</p>'; }
این کد به اکشنِ “the_content” که با رندر شدن محتوای وردپرس فعال میشود؛ هوک (Hook) میزند. وقتی یک اکشن فعال میشود؛ وردپرس تابع “my_thank_you_text” را فراخوانی میکند. این تابع در زیر فراخوانی “add_action” تعریف میشود.
ساخت افزونهای فراتر از یک قابلیت ساده
اگر تا این مرحله از این آموزش را انجام دادهاید؛ احتمالاً به این نتیجه رسیدهاید که ساختن یک افزونهی ساده برای وردپرس کار سختی نیست. اما اگر بخواهیم افزونهای با قابلیتهای بیشتری بسازیم چطور خواهد بود؟
اکشنها و فیلترها
اگر قصد دارید که خودتان افزونهی موردنظرتان را کدنویسی کنید؛ پیشنهاد میکنیم که ابتدا با نحوهی کار اکشنها و فیلترها آشنا شوید. به این صورت خواهید دانست که کدامیک از آنها برای شما مناسبتر است. بهترین منبع برای یادگیری این موارد، کدکس وردپرس است که پیشنهاد میکنیم موارد زیر را بررسی کنید.
API افزونه: اکشنها و فیلترها – لینک
API افزونه: منابع اکشنها – لینک
API افزونه: منابع فیلترها – لینک
توابع وردپرس
برای اینکه توابع اصلی برای افزونه نویسی وردپرس را مطالعه کنید؛ بهتر است به این منبع موجود در کدکس وردپرس مراجعه کنید.
توابع اصلی بسیار زیادی در این منبع وجود دارند که میتوانید آنچه نیاز دارید را در بین آنها پیدا کنید. پس برای توابع حتماً از این منبع استفاده کنید.
ساخت یک صفحهی تنظیمات
فرض میکنیم که شما با استفاده از آموزشهای این مقاله و منابعی که در بالا معرفی کردیم؛ یک افزونهی خیلی خوب ساختهاید. در این شرایط احتمالاً مایل باشید که یک صفحهی تنظیمات برای افزونهی خودتان بسازید تا افراد بتوانند قابلیتهای افزونهی شما را بر اساس نیازشان تغییر دهند. ساختن صفحهی تنظیمات الزامی نیست. افزونههای زیادی وجود دارند که کارایی خاصی دارند و صفحهای برای ایجاد تغییرات در آنها طراحی نشده است. اما داشتن این ویژگی میتواند برای استفادهکنندگان از افزونه خیلی خوب باشد.
ساختن صفحهی تنظیمات به دلیل سختیهای خاصی که دارد؛ خارج از بحث این آموزش است. بنابراین بازهم منابع مفیدی که برای این کار در کدکس وردپرس وجود دارد را معرفی میکنیم.
افزونه نویسی وردپرس – لینک
ساخت صفحهی تنظیمات – لینک
اگر تا حالا افزونهای نساختهاید؛ اولین افزونهی خودتان را ایجاد کنید!
افزونه نویسی وردپرس به شما آزادی عمل بسیار زیادی میدهد. همچنین این کار یکراه عالی برای فهم بهتر نحوهی عملکرد وردپرس است. اگر تا قبل از این آموزش اقدام به افزونه نویسی وردپرس نکردهاید؛ توصیه میکنیم حتماً یکبار این کار را امتحان کنید. اگر افزونهای ساختید که فکر میکنید برای سایر کاربران وردپرس هم مناسب است؛ میتوانید بهصورت رایگان آن را در دایرکتوری افزونههای وردپرس منتشر کنید.
اگر تاکنون تجربهای در زمینهی افزونه نویسی وردپرس داشتهاید؛ خوشحال میشویم آن را در قسمت کامنتها با ما به اشتراک بگذارید.