สอนสร้าง Plugin WordPress (10) : ตัวอย่างการใช้งาน add_submenu_page() เพื่อสร้าง Sub Menu ของ Plugin ใน Admin

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: สอนสร้าง Plugin WordPress (10) : ตัวอย่างการใช้งาน add_submenu_page() เพื่อสร้าง Sub Menu ของ Plugin ใน Admin

Re: สอนสร้าง Plugin WordPress (10) : ตัวอย่างการใช้งาน add_submenu_page() เพื่อสร้าง Sub Menu ของ Plugin ใน Admin

by mindphp » 25/10/2016 9:51 pm

รวมกระทู้ บทความสอนสร้าง Plugin WordPress
https://www.mindphp.com/forums/viewtopic ... 25&t=36079

สอนสร้าง Plugin WordPress (10) : ตัวอย่างการใช้งาน add_submenu_page() เพื่อสร้าง Sub Menu ของ Plugin ใน Admin

by thatsawan » 25/10/2016 12:02 pm

การสร้าง Sub Menu หมายความว่า เราจะเพิ่ม Menu ย่อยๆ ไว้ที่เมนูหลักนั้นเอง ในการพัฒนาจะคล้ายๆ กับการเพิ่ม Menu หลักในหน้า Admin เพียงเเต่เราจะต้องระบุ parent ของ Menu ที่เราจะทำการสร้าง Sub Menu ลงไป

Code: Select all

add_submenu_page( string $parent_slug, string $page_title, string $menu_title, string $capability, string $menu_slug, callable $function = '' ) 
ตัวอย่างการใช้งาน
ก่อนจะเพิ่ม Sub Menu
Image

Code: Select all

add_action('admin_menu', 'wpdocs_register_my_custom_submenu_page');
 
function wpdocs_register_my_custom_submenu_page() {
    add_submenu_page(
        'tools.php',
        'My Custom Submenu Page',
        'My Custom Submenu Page',
        'manage_options',
        'my-custom-submenu-page',
        'wpdocs_my_custom_submenu_page_callback' );
}
 
function wpdocs_my_custom_submenu_page_callback() {
    esc_html_e( 'Sub Menu Admin Page Test', 'textdomain' );  
}

 
ผลที่ได้หลังจาก add sub Menu
Image


ถ้าต้องการสร้าง Sub Menu เป็นของ Plugin Menu เราเอง สามารถทำได้ดังตัวอย่าง

Code: Select all

function wpdocs_register_my_custom_menu_page(){
    add_menu_page( 
        __( 'Custom Menu Title', 'textdomain' ),
        'Custom Menu',
        'manage_options',
        'custompage_1',
        'my_custom_menu_page',
        '',//plugins_url( 'plugin-WordPress/images/icon.png' ),
        1
    ); 
}
add_action( 'admin_menu', 'wpdocs_register_my_custom_menu_page' );

function my_custom_menu_page(){
    esc_html_e( 'Admin Page Test', 'textdomain' );  
}

add_action('admin_menu', 'wpdocs_register_my_custom_submenu_page');
 
function wpdocs_register_my_custom_submenu_page() {
    add_submenu_page(
        'custompage_1',
        'Custom Menu 2',
        'Custom Menu 2',
        'manage_options',
        'my-custom-submenu-page',
        'wpdocs_my_custom_submenu_page_callback' );
}
 
function wpdocs_my_custom_submenu_page_callback() {
    esc_html_e( 'Sub Menu Admin Page Test', 'textdomain' );  
} 
สังเกตุที่ ส่วนของ parent ให้ใส่ custompage_1 เพื่อให้ Sub Menu นี้ไปอยู่ใน Menu Plugin ของเรานั้นเอง

ผลที่ได้
Image


ศึกษาเพิ่มเติมได้ที่นี่
https://developer.wordpress.org/referen ... menu_page/

Top