สอนสร้าง Plugin WordPress (10) : ตัวอย่างการใช้งาน add_submenu_page() เพื่อสร้าง Sub Menu ของ Plugin ใน Admin
โพสต์แล้ว: 25/10/2016 12:02 pm
การสร้าง Sub Menu หมายความว่า เราจะเพิ่ม Menu ย่อยๆ ไว้ที่เมนูหลักนั้นเอง ในการพัฒนาจะคล้ายๆ กับการเพิ่ม Menu หลักในหน้า Admin เพียงเเต่เราจะต้องระบุ parent ของ Menu ที่เราจะทำการสร้าง Sub Menu ลงไป
ตัวอย่างการใช้งาน
ก่อนจะเพิ่ม Sub Menu
ผลที่ได้หลังจาก add sub Menu
ถ้าต้องการสร้าง Sub Menu เป็นของ Plugin Menu เราเอง สามารถทำได้ดังตัวอย่าง
สังเกตุที่ ส่วนของ parent ให้ใส่ custompage_1 เพื่อให้ Sub Menu นี้ไปอยู่ใน Menu Plugin ของเรานั้นเอง
ผลที่ได้
ศึกษาเพิ่มเติมได้ที่นี่
https://developer.wordpress.org/referen ... menu_page/
โค้ด: เลือกทั้งหมด
add_submenu_page( string $parent_slug, string $page_title, string $menu_title, string $capability, string $menu_slug, callable $function = '' )
ก่อนจะเพิ่ม Sub Menu
โค้ด: เลือกทั้งหมด
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' );
}
ถ้าต้องการสร้าง Sub Menu เป็นของ Plugin Menu เราเอง สามารถทำได้ดังตัวอย่าง
โค้ด: เลือกทั้งหมด
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' );
}
ผลที่ได้
ศึกษาเพิ่มเติมได้ที่นี่
https://developer.wordpress.org/referen ... menu_page/