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

در پست امروز، ما به شما نشان خواهیم داد که چگونه یک افزونه ساده وردپرس بنویسید، که اگر می‌خواهید چیزی ساده ایجاد کنید یا با سر و صدا وارد توسعه افزونه شوید، خوب است. با این مقدمه، اجازه دهید شروع کنیم زیرا موارد زیادی برای پوشش دادن وجود دارد. نوشتن یک پلاگین ساده وردپرس: اصول نوشتن اصول اولیه پلاگین وردپرس قبل از اینکه به قسمت سرگرم کننده بپردازیم، چند نکته اساسی وجود دارد که باید بدانید. به عنوان یک مبتدی، ممکن است تصور کنید که ایجاد پلاگین های وردپرس کار سختی است. خوب، نه واقعا. هر کسی می تواند یاد بگیرد که چگونه یک افزونه بنویسد، چه مدرک علوم کامپیوتر داشته باشید یا نه. در عین حال، اگر قصد دارید در آینده پلاگین های بیشتری بنویسید، برخی از دانش کدنویسی PHP بسیار کمک خواهد کرد. به این دلیل که افزونه های وردپرس به زبان برنامه نویسی PHP کدگذاری شده اند. با این دانش، نحوه عملکرد توابع PHP را بهتر درک خواهید کرد که کار شما را بسیار آسان می کند. با این حال، چیزهای آسانی است. همچنین، بسته به ویژگی‌هایی که نیاز دارید، افزونه شما ممکن است حاوی فقط یک فایل یا چندین فایل از جمله شیوه‌نامه‌های CSS، اسکریپت‌های جاوا اسکریپت و فایل‌های رسانه باشد. در نهایت، مهم است که با استانداردهای کدنویسی وردپرس و بهترین روش‌ها آشنا شوید تا در سمت امن باقی بمانید. خیالتان راحت باشد زیرا امروز ما به مسائل پیچیده نمی پردازیم. من به شما نشان خواهم داد که چگونه یک پلاگین ساده بنویسید و چند ابزار و منبع را به اشتراک بگذارید که کار شما را آسان کند.قبل از نوشتن افزونه وردپرس خود به چند مورد نیاز دارید. برای شروع، افزونه خود را در سایت زنده خود آزمایش نکنید. اگر مشکلی پیش بیاید، در معرض خطر از بین بردن وب سایت خود قرار می گیرید، که منجر به خرابی های وحشتناکی در حین تعمیر کارها می شود. در عوض، یک سایت آزمایشی یا مرحله‌بندی به صورت محلی یا روی سرور خود ایجاد کنید. وردپرس را روی ویندوز به صورت محلی با WAMP نصب کنید همچنین می توانید از ابزارهایی مانند Local by Flywheel یا DevKinsta استفاده کنید. به غیر از آن، به یک ویرایشگر متن مانند Notepad++، SublimeText یا Atom نیاز دارید. در حالی که این یک الزام نیست، می توانید از ابزارهایی مانند Pluginplate یا Plugin Boilerplate برای سرعت بخشیدن به توسعه استفاده کنید (در ادامه در مورد این موضوع بیشتر توضیح خواهیم داد). و اکنون بخش سرگرم کننده، اجازه دهید یک افزونه ساده وردپرس بنویسیم. برای این آموزش، من در حال ایجاد یک افزونه هستم که یک نوع پست سفارشی را برای یک وب سایت رستوران خیالی که در حال ساخت آن هستم اضافه می کند. برای افراد ناآشنا، وردپرس از چندین نوع پست از جمله صفحه، پست، پیوست، بازبینی و منوی ناوبری پشتیبانی می کند. برای سناریوی موردی خود، ما یک پلاگین ساده ایجاد خواهیم کرد که نوع پست سفارشی "Recipe" را اضافه می کند. هر افزونه وردپرس دارای یک فایل اصلی است که می توانید آن را به صورت دستی یا با استفاده از ابزارهایی مانند Plugin Boilerplate یا Pluginplate ایجاد کنید. برای صرفه جویی در زمان، اجازه دهید از Pluginplate (این IMO شهودی تر است) برای تولید فایل اصلی و چند فایل و پوشه اضافی که ممکن است بعداً به آن نیاز داشته باشید، استفاده کنیم. اما در حال حاضر ما به فایل اصلی نیاز داریم. ایجاد فایل اصلی به Pluginplate.com بروید و روی دکمه Create Your Plugin کلیک کنید، همانطور که در زیر برجسته می کنیم. در مرحله بعد، اطلاعات افزونه خود را مطابق شکل زیر پر کنید. در پایین صفحه، متوجه بخش Modules خواهید شد که به شما امکان می دهد ویژگی های اضافی را به افزونه خود اضافه کنید. همچنین توجه داشته باشید که می‌توانید هر ماژول را با کلیک بر روی Plus (+) سفارشی کنید، روی دکمه Generate Plugin کلیک کنید: یک افزونه سفارشی ایجاد کنید پس از آن، روی دکمه دانلود کلیک کنید و افزونه خود را در رایانه خود ذخیره کنید.در حال حاضر، ما تمام فایل های اساسی مورد نیاز خود را داریم، از جمله فایل اصلی. اما هنوز فایل را باز نکنید، افزونه ما کاری را که هست جام نمی دهد. ما باید کدی را اضافه کنیم که با فعال سازی افزونه اجرا می شود. بر اساس مثال ما، فایل اصلی من 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 را فشرده کنید (این پوشه ای است که فایل اصلی hot-recipes.php را که به تازگی ویرایش کردیم) را در یک بایگانی hot-recipes.zip فشرده کنید فقط مطمئن شوید که پوشه شما به عنوان یک پسوند .ZIP ذخیره می شود وگرنه افزونه نصب نمی شود. در مرحله بعد، وارد سایت آزمایشی خود شوید و به افزونه ها > افزودن بروید. سپس، روی دکمه آپلود افزونه کلیک کنید، پوشه ZIP افزونه خود را از رایانه خود انتخاب کنید و روی Install Now کلیک کنید و آن را فعال کنید. شما یک افزونه ساده ساختید :))) تبریکلینک منبع