چگونه یک پلاگین ساده وردپرس ایجاد کنیم

چگونه یک پلاگین ساده وردپرس ایجاد کنیم

وردپرس عزیز بسیاری است و حق هم دارد. استفاده از آن فوق‌العاده آسان، رایگان (یا منبع باز)، انعطاف‌پذیر، و بهترین بخش، کاملاً توسعه‌پذیر است. به لطف افزونه ها، می توانید وردپرس را گسترش دهید تا عملاً هر عملکردی را که در ذهن دارید اضافه کنید.

اگر مبتدی کامل هستید، افزونه های وردپرس درست مانند برنامه های گوشی شما هستند. تلفن شما همانطور که هست عالی کار می کند، اما می توانید با استفاده از برنامه ها عملکرد بیشتری اضافه کنید. همین امر در مورد سیستم مدیریت محتوای وردپرس (CMS) صدق می کند.

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

هزاران افزونه رایگان و ممتاز وردپرس در آنجا وجود دارد. مخزن رسمی افزونه وردپرس به تنهایی بیش از 59000 افزونه رایگان در زمان نگارش دارد! بازارهای دیگر، مانند CodeCanyon، هزاران افزونه وردپرس ممتاز را به شما ارائه می دهند.

این بدان معناست که احتمالاً یک افزونه برای تقریباً هر ویژگی که نیاز دارید به سایت وردپرس خود اضافه کنید وجود دارد. با این حال، گاهی اوقات، ممکن است به چیزی نیاز داشته باشید که از منابع افزونه فوق در دسترس نباشد. در این صورت، ممکن است لازم باشد یک افزونه وردپرس را از ابتدا ایجاد کنید یا یک افزونه موجود را تغییر دهید (یا انشعاب کنید).

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

نوشتن یک پلاگین ساده وردپرس: اصول اولیه

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

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

همچنین، بسته به ویژگی‌هایی که نیاز دارید، افزونه شما ممکن است حاوی فقط یک فایل یا چندین فایل از جمله شیوه‌نامه‌های CSS، اسکریپت‌های جاوا اسکریپت و فایل‌های رسانه باشد. در نهایت، مهم است که با استانداردها و بهترین شیوه های کدنویسی وردپرس آشنا شوید. در سمت امن بمانید.

آرام باشید زیرا امروز ما به مسائل پیچیده نمی پردازیم. من به شما نشان خواهم داد که چگونه یک پلاگین ساده بنویسید و چند ابزار و منبع را به اشتراک بگذارید که کار شما را راحت کند. آیا هنوز هیجان زده اید؟ من مطمئناً امیدوارم 🙂

آنچه برای نوشتن افزونه وردپرس نیاز دارید

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

در عوض، یک سایت آزمایشی یا مرحله‌بندی به صورت محلی یا روی سرور خود ایجاد کنید. در اینجا نحوه انجام این کار آمده است:

به‌طور متناوب، می‌توانید از ابزارهایی مانند محلی توسط Flywheel یا DevKinsta.

غیر از آن، به یک ویرایشگر متن مانند Notepad++ نیاز دارید، SublimeText، یا اتم. اگرچه الزامی نیست، می‌توانید از ابزارهایی مانند Pluginplate یا پلاگین Boilerplate برای سرعت بخشیدن به توسعه (در ادامه در این مورد بیشتر توضیح خواهیم داد).

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

برای افراد ناآشنا، وردپرس از چندین نوع پست پشتیبانی می کند از جمله صفحه، پست، پیوست، بازبینی، و منوی ناوبری برای سناریوی موردی خود، ما یک افزونه ساده ایجاد خواهیم کرد که نوع پست سفارشی “Recipe” را اضافه می کند. برای مقاصد تصویری، من افزونه خود را “Hot Recipes” می نامم.

اجازه دهید ما درست شیرجه بزنیم.

چگونه یک افزونه وردپرس ساده بنویسیم

هر افزونه وردپرس دارای یک فایل اصلی است که می توانید به صورت دستی یا با استفاده از ابزارهایی مانند Plugin Boilerplate یا Pluginplate ایجاد کنید. برای صرفه جویی در زمان، اجازه دهید از Pluginplate (IMO شهودی تر) برای تولید فایل اصلی و چند فایل و پوشه اضافی که ممکن است بعداً به آنها نیاز داشته باشید، استفاده کنیم. اما در حال حاضر ما به فایل اصلی نیاز داریم.

ایجاد فایل اصلی

به Pluginplate.com بروید و روی ایجاد افزونه خود کلیک کنید دکمه، همانطور که در زیر برجسته می کنیم.

در مرحله بعد، اطلاعات افزونه خود را مطابق شکل زیر پر کنید. در پایین صفحه، بخش  Modules را مشاهده خواهید کرد که به شما امکان می دهد ویژگی های اضافی را به افزونه خود اضافه کنید. همچنین توجه داشته باشید که می‌توانید هر ماژول را با کلیک کردن روی Plus (+) سفارشی کنید، همانطور که در زیر توضیح می‌دهیم. هنگامی که راضی شدید، روی دکمه ایجاد افزونه کلیک کنید:

پس از آن، روی دکمه دانلود کلیک کنید و افزونه خود را در رایانه خود ذخیره کنید.

اکنون، ما همه فایل‌های اساسی مورد نیاز خود را داریم، از جمله فایل اصلی. اما هنوز حباب را باز نکنید، افزونه ما کاری را که هست انجام نمی دهد. ما باید کدی را اضافه کنیم که با فعال سازی افزونه اجرا می شود. بر اساس مثال ما، فایل اصلی من hot-recipes.php است، که فایلی است که در بخش بعدی ویرایش خواهیم کرد.

افزودن توابع

برای پیدا کردن فایل ایمیل hot-recipes.php، پوشه ZIP را که از Pluginplate دانلود کرده‌اید استخراج کنید:

در داخل پوشه، باید فایل اصلی خود را ببینید، که در مورد ما – دوباره – hot-recipes.php:

است.

در داخل پوشه افزونه، می‌توانید تعداد زیادی فایل دیگر را ببینید، اما ما در حال حاضر به آن‌ها نیازی نداریم. در مرحله بعد، اجازه دهید برخی از توابع را به فایل اصلی اضافه کنیم. فایل اصلی (hot-recipes.php) را در ویرایشگر متن مورد علاقه خود باز کنید (من از Notepad++ استفاده می کنم).

بر اساس نحوه پر کردن فرم در Pluginplate، کد زیر یا چیزی مشابه را مشاهده خواهید کرد:

 مراجعه کنید.
*/

// در صورت دسترسی مستقیم از آن خارج شوید.
if ( ! defined( 'ABSPATH' ) ) exit;

// نام افزونه
define('HOTRECIPES_NAME', 'Hot Recipes' );

// نسخه پلاگین
define('HOTRECIPES_VERSION', '1.0.0');

// فایل ریشه پلاگین
define('HOTRECIPES_PLUGIN_FILE', __FILE__ );

// پایه پلاگین
define( 'HOTRECIPES_PLUGIN_BASE', plugin_basename( HOTRECIPES_PLUGIN_FILE ) );

// مسیر پوشه پلاگین
define( 'HOTRECIPES_PLUGIN_DIR', plugin_dir_path( HOTRECIPES_PLUGIN_FILE ) );

// URL پوشه پلاگین
define('HOTRECIPES_PLUGIN_URL', plugin_dir_url( HOTRECIPES_PLUGIN_FILE ) );

/**
* کلاس اصلی را برای عملکرد اصلی بارگذاری کنید
*/
require_once HOTRECIPES_PLUGIN_DIR . 'core/class-hot-recipes.php';

/**
* تابع اصلی برای بارگیری تنها نمونه
* کلاس استاد ما.
*
* @author فردی
* @از 1.0.0
* @return object|Hot_Recipes
*/
تابع HOTRECIPES() {
	return Hot_Recipes::instance();
}

HOTRECIPES();

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

درست زیر کد بالا، کد زیر را اضافه کنید:

/**
 * نوع پست دستور العمل ها را ثبت می کند.
 */
تابع hot_recipes_register_post_types() {

	// برچسب‌های رابط کاربری را برای نوع پست دستور پخت تنظیم کنید.
	$labels = آرایه(
		'name' => _x( 'Recipes', 'Post type name', 'hot-recipes' ),
		'singular_name' => _x('Recipe', 'Post Type Singular Name', 'hot-recipes')
		'menu_name' => __( 'دستورالعمل ها'، 'دستورالعمل های داغ')،
		'parent_item_colon' => __( 'Recipe Parent', 'Hot-Recipes' ),
		'all_items' => __( 'همه دستور العمل ها', 'hot-recipes')
		'view_item' => __( 'مشاهده دستور غذا'، 'دستورالعمل های داغ')،
		'add_new_item' => __( 'Add New Recipes', 'Hot-Recipes' ),
		'add_new' => __( 'Add New', 'Hot-Recipes' ),
		'edit_item' => __('Edit Recipe', 'Hot-Recipes' ),
		'update_item' => __( 'Update Recipe', 'Hot-Recipes' ),
		'search_items' => __( 'دستور العمل جستجو'، 'دستورالعمل های داغ')،
		'not_found' => __( 'Not Found', 'Hot-Recipes' )
		'not_found_in_trash' => __( 'در سطل زباله یافت نشد'، 'hot-recipes')
	)

	// آرگومان های دیگری را برای نوع پست دستور العمل ها تنظیم کنید.
	$args = آرایه(
		'label' => __( 'دستورالعمل ها'، 'دستورالعمل های داغ')،
		'description' => __( 'Recipes.', 'Hot-Recipes' ),
		'labels' => $labels,
		'supports' => آرایه(
			'عنوان'،
			"ویراستار"،
			"گزیده"،
			'نویسنده'،
			'بند انگشتی'،
			'نظرات'،
			"بازبینی"،
			'فیلدهای سفارشی'،
		)
		'taxonomies' => آرایه()،
		'hierarchical' => نادرست،
		'عمومی' => درست است،
		'show_ui' => درست است،
		'show_in_menu' => درست است،
		'show_in_nav_menus' => درست است،
		'show_in_admin_bar' => درست است،
		'menu_position' => 5،
		'can_export' => درست است،
		'has_archive' => درست است،
		'exclude_from_search' => نادرست،
		'publicly_queryable' => درست است،
		'capability_type' => 'پست'،
		'show_in_rest' => درست است،
	)

	// نوع پست دستور پخت را ثبت می کند.
	register_post_type('recipes', $args );

}
add_action('init', 'hot_recipes_register_post_types' );

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

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

پوشه پلاگین خود را فشرده کنید

همه تغییرات خود را ذخیره کنید. پوشه hot-recipes را فشرده کنید (این پوشه ای است که فایل اصلی hot-recipes.php را که به تازگی ویرایش کردیم در آن یافتید) در یک hot-recipes.zip< /strong> بایگانی (در مک این کار به آسانی کلیک راست، فشرده‌سازی فایل است – و در رایانه شخصی فکر می‌کنم بسیار شبیه است). فقط مطمئن شوید که پوشه شما به عنوان یک پسوند .ZIP ذخیره می شود، در غیر این صورت افزونه نصب نمی شود.

بعد، وارد سایت آزمایشی خود شوید و مانند شکل زیر به افزونه ها > افزودن جدید بروید.

بعد، روی دکمه آپلود آپلود کلیک کنید، پوشه ZIP افزونه خود را از رایانه خود انتخاب کنید و روی اکنون نصب کنید کلیک کنید:

بعد، افزونه را فعال کنید:

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

بابت نوشتن اولین افزونه ساده خود تبریک می گویم! با این مقدمه، می توانید بیشتر بروید و با کد بازی کنید تا ببینید چه چیزی می توانید بدست آورید. همچنین، می‌توانید کد منبع سایر افزونه‌ها را مطالعه کنید (همه افزونه‌های وردپرس منبع باز هستند) برای کسب اطلاعات بیشتر.

اکنون تنها چیزی که نیاز دارید چند منبع دیگر است (کتابچه راهنمای افزونه را بررسی کنید ) و تمرین زیاد و در کمترین زمان مانند افسانه ای که هستید کدنویسی می کنید.


برنامه‌نویسی و نوشتن افزونه‌های وردپرس در ابتدا می‌تواند ترسناک به نظر برسد، مخصوصاً برای مبتدی. اما با ابزارهای مناسب و برخی منابع یادگیری، می‌توانید پلاگین‌ها را مانند یک رئیس در کمترین زمان توسعه دهید. فقط کمی برنامه نویسی و عزم راسخ می خواهد و شما در نیمه راه هستید.

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

اگر این آموزش برای شما مفید بود یا چیز دیگری برای اضافه کردن دارید، خوشحال می‌شویم بدانیم. لطفا نظرات خود را در بخش نظرات زیر به اشتراک بگذارید. می بینمت!

خروج از نسخه موبایل