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

แชร์ ความรู้สำหรับพัฒนา plugin ของ Wordpress

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 9505
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

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

โพสต์โดย thatsawan » 25/10/2016 12:02 pm

ในการสร้าง Plugin ของ WordPress เราสามารถเพิ่ม Menu ทางเข้าในส่วนของ Admin เพื่อจะเป็น หน้า Config ต่างๆ ได้

โค้ด: เลือกทั้งหมด

add_menu_page( string $page_title, string $menu_title, string $capability, string $menu_slug, callable $function = '', string $icon_url = '', int $position = null 


$page_title
    คือการระบุชื่อของหน้า page

$menu_title
    คือการระบุชื่อเมนูนั้นๆ

$capability
    บทบาทและความสามาร เป็นการระบุว่า User กลุ่มใหนบ้างที่จะเข้าใช้งาน Menu นี้ได้

$menu_slug
    เป็นระบุ Url ของ Menu ซึ่งต้องไม่ซ้ำกับ เมนู อื่นๆ เช่น

    โค้ด: เลือกทั้งหมด

    http://localhost/wordpress/wp-admin/admin.php?page=custompage   

$icon_url
    เป็ยการระบุ url หรือ folder สำหรับภาพที่จะนำมาเป็น Icons Menu ถ้าไม่ระบุระบบจะดึงภาพมาให้อัตโนมัติ

$position
    เป็นการระบุตำแหน่งของ Menu สามารถดูลำดับตำแหน่งที่มีอยู่ได้
Menu Structure #Menu Structure
Default: bottom of menu structure #Default: bottom of menu structure

2 – Dashboard
4 – Separator
5 – Posts
10 – Media
15 – Links
20 – Pages
25 – Comments
59 – Separator
60 – Appearance
65 – Plugins
70 – Users
75 – Tools
80 – Settings
99 – Separator

Top ↑
For the Network Admin menu, the values are different: #Forthe Network Admin menu, the values are different:

2 – Dashboard
4 – Separator
5 – Sites
10 – Users
15 – Themes
20 – Plugins
25 – Settings
30 – Updates
99 – Separator


ตัวอย่างการใช้งาน

โค้ด: เลือกทั้งหมด

/**
 * Register a custom menu page.
 */
function wpdocs_register_my_custom_menu_page(){
    add_menu_page( 
        __
( 'Custom Menu Title', 'textdomain' ),
        'custom menu',
        'manage_options',
        'custompage',
        'my_custom_menu_page',
        '',//plugins_url( 'plugin-WordPress/images/icon.png' ),
        1
    
); 
}
add_action( 'admin_menu', 'wpdocs_register_my_custom_menu_page' );
 
/**
 * Display a custom menu page
 */
function my_custom_menu_page(){
    esc_html_e( 'Admin Page Test', 'textdomain' );  
}

ผลที่ได้
รูปภาพ


Capability vs. Role Table >> ศึกษาเพิ่มเติมสำหรับสิทธิ์การเข้าถึง Menu ต่างๆ ได้ที่นี่
https://codex.wordpress.org/Roles_and_Capabilities
รูปภาพ


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

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 16615
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

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

โพสต์โดย mindphp » 25/10/2016 9:52 pm

รวมกระทู้ บทความสอนสร้าง Plugin WordPress
viewtopic.php?f=225&t=36079
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042


ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 3 และ บุคคลทั่วไป 0 ท่าน