add_menu_page () ที่มีชื่อแตกต่างกันสำหรับรายการเมนูย่อยแรก


83

add_menu_pageเอกสารกล่าวว่าจะผ่านชื่อเมนูเป็นพารามิเตอร์ที่สอง:

add_menu_page('Page Title', 'Menu Title', ...);

เมื่อเพิ่มหน้าเพิ่มเติมในภายหลังadd_submenu_pageหน้าหลักจะกลายเป็นรายการแรกในเมนูย่อย:

ป้อนคำอธิบายรูปภาพที่นี่


อย่างไรก็ตามฉันต้องการรายการแรกในรายการที่มีชื่อแตกต่างกัน (แต่ยังคงชี้ไปที่หน้าเดียวกัน) วิธีที่ Wordpress ทำเอง:

ป้อนคำอธิบายรูปภาพที่นี่


ฉันจะทำให้สำเร็จในปลั๊กอินได้อย่างไร?


ฉันพบบล็อกที่มีประโยชน์มากสำหรับ pupose tekina.info/add-menus-submenus-wordpress-admin-panel
Aniket Singh

คำตอบ:


112

คุณสามารถทำให้ 'กระสุน' สำหรับหน้าเมนูย่อยเท่ากับหน้าระดับบนสุดและพวกเขาจะชี้ไปที่สถานที่เดียวกัน:

add_action('admin_menu', 'my_menu_pages');
function my_menu_pages(){
    add_menu_page('My Page Title', 'My Menu Title', 'manage_options', 'my-menu', 'my_menu_output' );
    add_submenu_page('my-menu', 'Submenu Page Title', 'Whatever You Want', 'manage_options', 'my-menu' );
    add_submenu_page('my-menu', 'Submenu Page Title2', 'Whatever You Want2', 'manage_options', 'my-menu2' );
}

เช่น

ป้อนคำอธิบายรูปภาพที่นี่


ซึ่งจะส่งผลให้รายการที่ซ้ำกันเนื่องจาก Wordpress สร้างหน้าเมนูย่อยโดยอัตโนมัติสำหรับหน้าหลัก
MegaHit

4
ฉันจำได้ว่าอ่านรหัสหลักในสัปดาห์ที่ผ่านมาและพบข้อความที่กล่าวว่า: "เพิ่มรายการเมนูย่อยเริ่มต้นหากผู้ใช้ไม่ได้มีอยู่แล้ว" มันจะตรวจสอบเพื่อดูว่ามีรายการเมนูย่อยที่ชี้ไปที่รายการระดับบนสุดหรือไม่ หากมีจะไม่เพิ่มค่าเริ่มต้น
Michael Lewis

ฉันต้องการเมื่อฉันสร้างเมนูที่กำหนดเองฉันต้องการที่จะแสดงบางตารางและข้อมูลเป็นแท็บอื่น ๆ จะแสดงลิงค์การสอนหรือความช่วยเหลือฟังก์ชั่นบางอย่างจะได้รับการชื่นชม
Aitazaz Khan

สิ่งที่ฉันกำลังมองหา Thanx: P
Rob DA

-3
add_submenu_page(
        'tut_theme_settings',       // parent slug
        'Front Page Elements 2',    // page title
        'Front Page 2',             // menu title
        'manage_options',           // capability
        'tut_theme_settings2',      // slug
        'theme_front_page_settings' // callback
    ); 

ถ้าชื่อที่แตกต่างกันของเมนูย่อยแรกสร้างทากของแม่และลูกคนแรกและเรียกฟังก์ชั่นเดียวกัน


2
มันแตกต่างจากคำตอบที่ยอมรับได้อย่างไร และการกระทำนี้ควรติดยาเสพติด
bravokeyl

-4

เพียงเพิ่มสิ่งนี้:

$submenu['my-menu'][0][0] = 'My New Menu Title';

สำหรับวัตถุประสงค์ในการดีบั๊กคุณสามารถทำprint_r($menu)เพื่อตรวจสอบเมนู WP ทั้งหมด


7
แฮ็คแฮ็ค ใช้ API!
Richard Sweeney
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.