چگونه پلاگین بنویسیم

wordpress بدون شک محبوب ترین cms دنیاست و بنا به ادعای سایت اصلی وردپرس ، حدود 37 درصد وب سایت های دنیا با این مدیریت محتوای محبوب ساخته شده اند.همواره در کلاس آموزش وردپرس به این موضوع اشاره کرده ایم که وردپرس چیست و چه می کند و حالا می خواهیم پیرامون پلاگین ها و اینکه چگونه یک پلاگین بنویسیم صحبت کنیم.
همانطور که میدانید وردپرس یک CMS آماده است که توسط آن میتوانید هرگونه سایتی اعم از یک سایت ساده مانند وبلاگ و یا سایتی جامع و شرکتی که از امکاناتی چون فروشگاه آنلاین برخوردار است را طراحی نمایید .اما در برخی موارد ممکن است بخواهید امکاناتی را به سایتتان اضافه نمایید که از پایه در وردپرس موجود نیست که باید از پلاگین ها استفاده کنیم و در این مقاله می خواهیم پیرامون این موضوع صحبت کنیم که در وردپرس چگونه باید پلاگین بنویسیم.

چگونه پلاگین بنویسیم

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

نکته»» مکررا در کلاس آموزش طراحی سایت با وردپرس گفته ایم که از دانلود پلاگین های نال شده اکیدا خودداری کنید!

چگونه پلاگین بنویسیم

ساختار پلاگین چگونه است

نصب تمامی پلاگین ها در دایرکتوری صورت میپذیرد.برخی از پلاگین نویسان ،از یک پوشه pho بدین منظور استفاده میکنند که بهتر است برای ذخیره پلاگین ها یک پوشه جدید ایجاد نمایید و تمامی پلاگین های خود را در آن ذخیره نمایید .پس وقتی شما می خواهید بدانید که چگونه پلاگین بنویسیم ، باید به این موضوعات نیز دقت کنید چرا که عدم توجه به این موضوعات باعث می شود پلاگین شما استاندارد نباشد

کارکرد یک پلاگین وردپرسی به چه صورت است

به منظور بهره برداری از پلاگین ها میبایست آن ها را در فولدر wp-content/plugin آپلود نموده باشید.پس از آن لازم است تا پلاگین را به حالت فعال دراورید تا قسمتی از کد شما را بر روی هر صفحه بارگذاری نماید .
نکته : دقت نمایید استفاده بیش از حد از پلاگین ها ،سرعت سایت شما را با کاهش مواجه خواهد کرد.

اما برای نوشتن یک پلاگین جدید چگونه رفتار میکینم؟در ادامه به این موارد خواهیم پرداخت ؛بیایید بررسی کنیم که به صورت گام به گام و واقعی ، چگونه پلاگین بنویسیم

نامگذاری فایل پلاگین
برای ایجاد یک افزونه جدید ،مانند دیگر پلاگین ها می بایست ،نام اصلی پلاگین ووکامرسی شما ،از نام پلاگین و نامی که برای فولدر انتخاب میکنید تبعیت کند.بعنوان مثال اگر نام فولدری که پلگین داخل آن است را test-plugin انتخاب کرده اید ،نام فایل اصلی پلاگین test-plugin.php خواهد بود.

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

بومی ساختن پلاگین
همانطور که میدانید ،زبان اصلی وردپرس ،انگلیسی است .بنابراین میبایست تمامی رشته هایی که درون افزونه ها درج میشود ،به زبان انگلیسی باشد.این قانون حتی اگر افزونه شما به زبان فارسی باشد نیز پابرجاست.در این زمان باید افزونه را به زبان انگلیسی طراحی نمایید و سپس با روش ترجمه استاندارد ،فایل های ترجمه به زبان دلخواهتان را به آن اضافه نمایید .مثلا fa_IR.mo و …

پیروی از استانداردهای کد نویسی

تمامی پلاگین ها در وردپرس از استانداردهای PHP در وردپرس استفاده میکنند.بنابراین برای طراحی پلاگین لازم است تا با زبان PHP آشنا باشید.برای طراحی پلاگین بهتر است کدها را استاندارد بنویسیم.استاندارد نویسی کد به معنی رعایت مواردی چون حفظ تو رفتگی و فاصله ها ،تگ های کوتاه php ،شرط های Yoda ،استانداردهای نامگذاری و … است.استاندارد نویسی موجب میشود تا کدهای شما توسط دیگر توسعه دهندگان ،خوانایی بیشتر ،درک و در صورت نیاز به توسعه ،با سرعت بالاتری نسبت به این کار اقدام گردد.

ذخیره اطلاعات در استفاده از آن ها در دیتابیس

سعی نمایید تا حد ممکن از ایجاد جداول جداگانه در دیتابیس بپرهیزید.بهتر است تا جایی که ممکن است از post type ها ،taxonomy و تنظیمات وردپرس برای براورده نمودن نیازهایتان استفاده نمایید.
میتوانید برای ذخیره نمودن اطلاعات از راهنمای زیر استفاده نمایید:
• در صورتیکه اطلاعات شما دائمی هستند اما همیشه موجود نیستند ،از کش استفاده نمایید .
• اگر اطلاعات همیشه موجود نیستند ،بعنوان مثال منقضی میشوند ،از transient استفاده نمایید.
• اگر اطلاعاتتان دائمی است و مجبور هستید همواره آن ها را تامین نمایید و همیشه باید موجود باشند ،از جداول تنظیمات وردپرس یعنی wp-options استفاده نمایید.
• اگر از اطلاعات برای مرتب سازی امور دیگری استفاده میکننید از taxonomy استفاده نمایید.
• اگر اطلاعاتتان ذاتا نامحدود است ،باید از post typeها استفاده نمایید.
نکته : برای نوشتن لاگ در یک فایل ،از کلاس WC_Logger استفاده نمایید.

جلوگیری از نشت اطلاعات

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

بنابراین برای جلوگیری این مسئله، میبایست کد زیر را به ابتدای فایل های PHP خود اضافه کنید :
if ( ! defined( ‘ABSPATH’ ) )
{ exit; // Exit if accessed directly }

روش پلاگین نویسی برای وردپرس

فایل readme بسازید

تمامی افزونه ها ملزم به داشتن یک فایل readme هستند.
یک نمونه از فایل readme استاندارد در افزونه ووکامرسی میتواند بشکل زیر باشد:
Plugin Name
Contributors: (this should be a list of wordpress.org userid’s)
Tags: comments, spam
Requires at least: 4.0.1
Tested up to: 4.3
Stable tag: 4.3
License: GPLv3 or later License
URI: http://www.gnu.org/licenses/gpl-3.0.html
WC requires at least: 2.2
WC tested up to: 2.3

اطلاعات افزونه

تمامی افزونه ها ملزم به در بر داشتن اطلاعاتی چون نام افزونه ،آدرس افزونه ،توضیحات ،نام نویسنده ،آدرس نویسنده (url) و … هستند.این اطلاعات را میتوانید مانند قطعه کد زیر به فایل اصلیتان اضافه نمایید:
/**
* Plugin Name: bigtheme Woo Commerce Extension
* Plugin URI: https://bigtheme.ir/?p=4955
* Description: Your extension’s description text.
* Version: 1.0.0
* Author: bigtheme
* Author URI: https://bigtheme.ir/
* Text Domain: bigtheme-woocommerce-extension
* Domain Path: /languages
*
* Copyright: © ۲۰۰۹-۲۰۱۵ WooCommerce.
* License: GNU General Public License v3.0
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
*/

درج توضیحات در کد (COMMENT)

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

تست نمودن پلاگین

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

جدا نمودن منطق از ظاهر برنامه

تا حد ممکن سعی نمایید تا ظاهر برنامه خود را از منطق آن جدا نمایید.چنین امری به شما کمک میکند تا برنامه نویسی قابل درک تری داشته باشید و توسعه ،ویرایش و انجام سایر عملیات را بر روی پلاگین تسریع میکند.

نکته» توصیه می کنیم حتما پیش از شروع پلاگین نویسی در کلاس آموزش html/css  شرکت نمایید

ذخیره نمودن لاگ اطلاعات
شاید برای رفع اشکلات برنامه نویسی بخواهید سابقه لاگ
پلاگین را در جایی بصورت ذخیره داشته باشید تا در آینده بتوانبد به آن دسترسی داشته باشید.این موضوع مستلزم دو مورد است :
1. از کاربر اجازه داشته باشید تا اطلاعات دیباگ سیستمش را ذخیره نمایید.
2. برای این منظور از عمل کلاس WC_Logger استفاده نمایید تا اطلاعات برای خود کاربر نیز در صفحه وضعیت سیستم قابل دسترس باشد.

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

اگر می خواهید در پلاگین نویسی حرفه ای شوید، پیشنهاد می کنیم حتما در کلاس آموزش php شرکت نمایید و همچنین می توانید در کلاس آموزش پلاگین نویسی حرفه ای در آموزشگاه طراحی سایت پرتو شرکت نمایید.

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید ؟
در گفتگو ها شرکت کنید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

مقاله
چگونه پلاگین بنویسیم
نام مقاله
چگونه پلاگین بنویسیم
خلاصه
چگونه پلاگین بنویسیم و چگونه پلاگین اختصاصی سایت خود را داشته باشیم.در این مقاله به این موضوع پرداخته ایم.
نویسنده
منتشر کننده
آموزشگاه کامپیوتر پرتو
لوگو