چطور پلاگین بنویسیم

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

دوره آموزش بوت استرپ

چطور پلاگین بنویسیم؟

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

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

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

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

آموزش وردپرس حرفه ای

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

اما برای نوشتن یک پلاگین جدید چگونه رفتار میکینم؟در ادامه به این موارد خواهیم پرداخت ؛بیایید با تولید گام به گام یک پلاگین همراه باشیم.

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

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

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

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

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

دوره آموزش php را به منظور یادگیری این زبان میتوانید طی نمایید.

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

سعی نمایید تا حد ممکن از ایجاد جداول جداگانه در دیتابیس بپرهیزید.بهتر است تا جایی که ممکن است از 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 قابل مشاهده خواهد بود و این فرضت را دارید تا یش از ورود به مرحله اجرا آن ها را برطرف نمایید.

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

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

آموزشگاه طراحی سایت

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

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

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