افزونه ها

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

همچنین می توانید از ابزارهایی مانند محلی توسط فلایویل یا DevKinsta.

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

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

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

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

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

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

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

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

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

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

یک افزونه سفارشی ایجاد کنید

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

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

افزودن توابع

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

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

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

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

<?php
/**
* Hot Recipes
*
* @package HOTRECIPES
* @author Freddy
* @license gplv2-or-later
* @version 1.0.0
*
* @wordpress-plugin
* Plugin Name: Hot Recipes
* Plugin URI: https://vistamedia.me
* Description: The Hot Recipes WordPress plugins adds a custom post type suitable for restaurants.
* Version: 1.0.0
* Author: Freddy
* Author URI: https://vistamedia.me
* Text Domain: hot-recipes
* Domain Path: /languages
* License: GPLv2 or later
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
*
* You should have received a copy of the GNU General Public License
* along with Hot Recipes. If not, see <https://www.gnu.org/licenses/gpl-2.0.html/>.
*/

// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) exit;

// Plugin name
define( 'HOTRECIPES_NAME', 'Hot Recipes' );

// Plugin version
define( 'HOTRECIPES_VERSION', '1.0.0' );

// Plugin Root File
define( 'HOTRECIPES_PLUGIN_FILE', __FILE__ );

// Plugin base
define( 'HOTRECIPES_PLUGIN_BASE', plugin_basename( HOTRECIPES_PLUGIN_FILE ) );

// Plugin Folder Path
define( 'HOTRECIPES_PLUGIN_DIR', plugin_dir_path( HOTRECIPES_PLUGIN_FILE ) );

// Plugin Folder URL
define( 'HOTRECIPES_PLUGIN_URL', plugin_dir_url( HOTRECIPES_PLUGIN_FILE ) );

/**
* Load the main class for the core functionality
*/
require_once HOTRECIPES_PLUGIN_DIR . 'core/class-hot-recipes.php';

/**
* The main function to load the only instance
* of our master class.
*
* @author Freddy
* @since 1.0.0
* @return object|Hot_Recipes
*/
function HOTRECIPES() {
	return Hot_Recipes::instance();
}

HOTRECIPES();

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

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

/**
 * Registers the recipes post type.
 */
function hot_recipes_register_post_types() {

	// Set UI labels for the recipes post type.
	$labels = array(
		'name' => _x( 'Recipes', 'Post Type General Name', 'hot-recipes' ),
		'singular_name' => _x( 'Recipe', 'Post Type Singular Name', 'hot-recipes' ),
		'menu_name' => __( 'Recipes', 'hot-recipes' ),
		'parent_item_colon' => __( 'Parent Recipe', 'hot-recipes' ),
		'all_items' => __( 'All Recipes', 'hot-recipes' ),
		'view_item' => __( 'View Recipe', 'hot-recipes' ),
		'add_new_item' => __( 'Add New Recipe', 'hot-recipes' ),
		'add_new' => __( 'Add New', 'hot-recipes' ),
		'edit_item' => __( 'Edit Recipe', 'hot-recipes' ),
		'update_item' => __( 'Update Recipe', 'hot-recipes' ),
		'search_items' => __( 'Search Recipe', 'hot-recipes' ),
		'not_found' => __( 'Not Found', 'hot-recipes' ),
		'not_found_in_trash' => __( 'Not found in Trash', 'hot-recipes' ),
	);

	// Set other arguments for the recipes post type.
	$args = array(
		'label' => __( 'recipes', 'hot-recipes' ),
		'description' => __( 'Recipes.', 'hot-recipes' ),
		'labels' => $labels,
		'supports' => array(
			'title',
			'editor',
			'excerpt',
			'author',
			'thumbnail',
			'comments',
			'revisions',
			'custom-fields',
		),
		'taxonomies' => array(),
		'hierarchical' => false,
		'public' => true,
		'show_ui' => true,
		'show_in_menu' => true,
		'show_in_nav_menus' => true,
		'show_in_admin_bar' => true,
		'menu_position' => 5,
		'can_export' => true,
		'has_archive' => true,
		'exclude_from_search' => false,
		'publicly_queryable' => true,
		'capability_type' => 'post',
		'show_in_rest' => true,
	);

	// Registes the recipes post type.
	register_post_type( 'recipes', $args );

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

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

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

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

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

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

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

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

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

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

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


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

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

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



منبع

لطفا به این محتوا امتیاز دهید

 
 

 

 

0 / 5

رتبه صفحه شما:

مشاهده بیشتر

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد.

دکمه بازگشت به بالا
Translate »