منوهای سطح بالا

منوهای سطح بالا

سایر بخش های سری آموزشی " ایجاد افزونه وردپرس "

مثال ساده : اضافه کردن یک منوی سطح بالا

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

add_menu_page (
    $page_title,
    $menu_title,
    $capability,
    $menu_slug,
    $function,
    $icon_url,
    $position
);

برای این مثال از یک افزونه به نام My Toolset استفاده شده است .

گام اول : ایجاد تابع تولیدکننده یک منو

function add_my_custom_menu() {
    //add an item to the menu
    add_menu_page (
        'My Page',
        'My Title',
        'manage_options',
        'my-page',
        'my_admin_page_function',
        plugin_dir_url( __FILE__ ).'icons/my_icon.png',
        '۲۳.۵۶'
    );
}

توضیح تابع :

$page_title = ‘My Page’  
عنوان صفحه
$menu_title = ‘My Title’  
متن نمایشی منو
$capability = ‘manage_options’  
تعیین قابلیت دسترسی کاربر . قابلیت ها از ویژگی های امنیتی وردپرس هستند . در اینجا تنها کاربرانی که دارای قابلیت manage_optionsهستند ، قادر به مشاهده این منو هستند .

$menu_slug = ‘my-page’  
نام یکتایی که توسط وردپرس برای مراجعه به این صفحه مورد استفاده قرار می گیرد . چنانچه از این کد در داخل یک کلاس استفاده شود باید به صورت یک آرایه و به شکل array( $this, ‘functionname’ )   مورد استفاده قرار گیرد .
نکته : شما همچنین می توانید یک فایل را که در ‘myplugin/myplugin-admin.php’ باشد را فراخوانی کنید .

$function = ‘my_admin_page_function’  
نام تابعی که برای ایجاد منو فراخوانی می شود .
نکته : اگر نامک (slug) به یک نام فایل رجوع کند ، تابع فراخوان می تواند خالی باشد .

$icon_url = plugin_dir_url( __FILE__ ).’icons/my_icon.png’  
آیکنی که در کنار نام منو نمایش داده می شود

$position = ‘۲۳.۵۶’  
این مورد موقعیت منو در سلسله مراتب منو ها را مشخص می کند . چنانچه این مورد را تنظیم نکنید ، منوی شما در پایین ساختار منو نمایش داده می شود .

 

گام دوم : ثبت تابع ایجاد کننده منو

add_action( 'admin_menu', 'add_my_custom_menu' );

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

تکه کد مربوط به ثبت تابع را می توان قبل یا بعد از تابع کامل (تابع ایجاد کننده منو) قرار داد .

 

گام سوم (الف): ایجاد یک صفحه توسط یک تابع

تابع بالا نشان می دهد که یک تابع فراخوان به نام my_admin_page_function وجود دارد . بنابراین ما آن تابع را با محتوای شبیه به کد زیر ایجاد می کنیم :

function my_admin_page_function() {
    ?>
    <div class="wrap">
        <h2>My Plugin Options</h2>
        your form and page content goes here
    </div>
    <?php
}

 

نکته : همیشه در صفحاتی که می سازید یک عنصر div با کلاس wrap و یک عنصر H2 در بالای آنها قرار دهید .

 

گام سوم (ب) : ایجاد یک صفحه توسط یک نام فایل

اگر تابع به جای فراخوانی نامک (slug) یک فایل را فراخوانی کند ، تابع فراخوان می تواند مانند زیر خالی باشد :

function add_my_custom_menu() {
    //add an item to the menu
    add_menu_page (
        'My Page',
        'My Title',
        'manage_options',
        'my-plugin/my-plugin-form.php',
        '',
        plugin_dir_url( __FILE__ ).'icons/my_icon.png',
        '۲۳.۵۶'
    );
}

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

<div class="wrap">
    <h2>My Plugin Options</h2>
    your form and page content goes here
</div>

 

۱۳۹۴/۶/۱۸ ۱۰:۳۴:۰۲

درباره نویسنده:

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

نظر شما چیست