در این مطلب نحوه ایجاد یک پلاگین برای وردپرس را آموزش می دهیم . در ساخت پلاگین مورد نظر مقداری را در پنل ادمین وردپرس ذخیره می کنیم بعد آن مقدار را در shortcode چاپ می کنیم.
وردپرس پلاگین های قدرتمندی دارد که در زیر به برخی از آن ها اشاره می شود
یک پوشه بنام first-plugin در پوشه plugins وردپرس ایجاد کنید و یک فایل با نام first-plugin.php داخل آن بسازید و کد های زیر را در بالای فایل اضافه کنید
<?php
/**
* This file is read by WordPress to generate the plugin information in the plugin
* admin area. This file also includes all of the dependencies used by the plugin,
* registers the activation and deactivation functions, and defines a function
* that starts the plugin.
*
* @link https://mbmti.ir
* @since 1.0.0
* @package MBMTI_PKG
*
* @wordpress-plugin
* Plugin Name: Net Tutorial Plugin
* Plugin URI: https://mbmti.ir
* Description: این اولین پلاگینی هست که من برای وردپرس می نویسم
* Version: 1.0.0
* Author: Net Tutorial
* Author URI: https://mbmti.ir/our-team
* Text Domain: mbmti
* Domain Path: /languages
*/
همانطور که میبینید در این کد اطلاعات پلاگین را پر می نمائید مثلا نام پلاگین ، ورژن ، نویسنده ، سایت سازنده پلاگین ، توضیحات پلاگین
یک منو برای این پلاگین اضافه می کنیم تا در آن منو کاربر بتواند از طریق ادمین مقدار را ذخیره کند
add_action("admin_menu", 'wpdocs_add_custom_menu');
function wpdocs_add_custom_menu()
{
add_menu_page('Net Tutorial Plugin', 'Net Tutorial Plugin', 'manage_options', 'mbmti_ir_dashboard', 'mbmti_ir_dashboard_page');
}
در کد بالا یک منو با عنوان Net Tutorial Plugin در تابع wpdocs_add_custom_menu و در هوک admin_menu اضافه گردید
و تابعی که این منو در ادمین پنل فراخوانی می کند را به کد اضافه می کنیم
function mbmti_ir_dashboard_page()
{
if (isset($_POST["field_test"])) {
update_option('mbmti_option', $_POST["field_test"]);
echo '<span>با موفقیت ذخیره شد</span>';
}
?>
<div style="padding: 50px;">
<form method="post" action="?page=mbmti_ir_dashboard">
<div>مقدار را برای ذخیره وارد کنید</div>
<div>
<input id="field_test" name="field_test" value="<?php echo get_option("mbmti_option") ?>" />
</div>
<div>
<button>ذخیره</button>
</div>
</form>
</div>
<?php
}
در کد بالا مقداری را از طریق فیلد field_test که داخل form قرار دارد و بعد از submit کاربر آن را در صورت وجود دریافت و ذخیره می نمائیم دقت داشته باشید که این هان تابعی هست که در منو فراخوانی می شود.
در آخر هم یک با تابع add_shortcode تابع چاپ مقدار را می نویسیم
add_action('init', 'wpdocs_add_custom_shortcode');
function wpdocs_add_custom_shortcode()
{
add_shortcode('mbmti_ir', 'wpdocs_mbmti_func');
function wpdocs_mbmti_func()
{
$option = get_option("mbmti_option");
if (strlen($option) > 0) {
echo $option;
} else {
echo 'option is null !';
}
}
}
اکنون ساخت پلاگین به پایان رسید آن را در قسمت افزونه ها و تست نمائید.
مطالبت مرتبط