ایجاد منو برای پلاگین وردپرس

افزودن منوها

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

مثال:

<?php

add_action('admin_menu', 'bmpt_add_setup_menu');  

function bmpt_add_setup_menu(){
        add_menu_page( 'New Menu Page', 'Menu Page', 'manage_options', 'bmpt-add-setup-menu', 'bmpt_view_setting_init' );
}

function bmpt_view_setting_init(){
echo ‘Welcome to Setting Page’;
}
?>

در مثال فوق، manage_options امکان دسترسی به منو را برای کاربرانی با نقش مدیر سایت فراهم می کند. پس از اجرای کد فوق و با کلیک بر روی منوی ایجاد شده، در صفحه منو پیام Welcome to Setting Page به نمایش در می آید.

افزودن زیرمنو (submenu)

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

مثال: افزودن زیرمنو به منوی مثال قبل

<?php

add_action('admin_menu', 'bmpt_add_setup_menu');  

function bmpt_add_setup_menu(){
        add_menu_page( 'New Menu Page', 'Menu Page', 'manage_options', 'bmpt-add-setup-menu', 'bmpt_view_setting_init' );
add_submenu_page('bmpt-add-setup-menu', 'First Submenu Page', ‘First Submenu ',
    'manage_options', ‘bmpt_first_submenu');

add_submenu_page('bmpt-add-setup-menu'', 'Second Submenu Page', 'Second submenu',
    'manage_options', 'bmpt_second_submenu');

}

function bmpt_view_setting_init(){
echo ‘Welcome to Setting Page’;
}
function bmpt_first_submenu(){
echo ‘Welcome to First Submenu Page’;
}
function bmpt_second_submenu(){
echo ‘Welcome to Second Submenu Page’;
}

?>

افزودن زیرمنو به منوهای هسته وردپرس

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

مثال:

<?php
add_action( ‘admin_menu’, ‘bmpt_menuexample_create_menu’ );
             
function bmpt_menuexample_create_menu() {
             
    //create a submenu under Settings
    add_options_page( ‘My Plugin Settings Page’, ‘Menu Example Settings’,
        ‘manage_options’, ‘bmpt-example-setting’ , ‘bmpt_menuexample_settings_page’ );
             
}
?>

وردپرس امکان افزودن زیرمنو به سایر آیتم منوهای پیش فرض خود را فراهم آورده است. شما با استفاده از توابعی که در ادامه معرفی می شوند می توانید به صورت مشابه زیرمنوهای مورد نظرتان را به سایر آیتم های پیش فرض وردپرس اضافه کنید.

add_dashboard_page: افزودن زیرمنو به آیتم داشبورد

add_posts_page: افزودن زیرمنو به آیتم پست ها

add_media_page: افزودن زیرمنو به آیتم رسانه

add_links_page: افزودن زیرمنو به لینک ها

add_pages_page: افزودن زیرمنو به صفحات

add_comments_page: افزودن زیرمنو به کامنت ها

add_theme_page: افزودن زیرمنو به بخش نمایش

add_plugins_page: افزودن زیرمنو به بخش پلاگین ها

add_users_page: افزودن زیرمنو به بخش کاربران

Related posts