Khi bạn thêm một trang với add_submenu_page()
, url nên một cái gì đó như:
wp-admin/admin.php?page=<your_page_handle>
Trang của bạn đã thực sự nạp từ admin.php
(thường). Bạn có thể thêm tham số vào liên kết của mình bằng cách thêm một số thứ như &id=3
và sau đó có logic tải trang plugin chính của bạn xác định tệp sẽ bao gồm dựa trên tham số.
Ví dụ
if (isset($_GET['id']) && ((int) $_GET['id']) == 3) {
include 'second_page.php';
} else {
include 'first_page.php';
}
Edit:
tôi tìm thấy một thủ thuật mà bạn có thể dễ dàng hơn cho bạn, mặc dù tôi đã không kiểm tra kỹ lưỡng nó. Giả sử bạn có hai trang: my_one
và my_two
. Chỉ cần gọi add_submenu_page
hai lần và đặt bố mẹ của trang thứ hai làm trang đầu tiên. Điều này sẽ khiến Wordpress không thêm liên kết vào thanh điều hướng, nhưng bạn vẫn có thể truy cập trang của mình bằng cách điều hướng đến admin.php?page=my_two
.
Ví dụ:
add_submenu_page(
'my_toplevel_link'
, 'Page Title'
, 'Link Name'
, 'administrator'
, 'my_one' // here's the page handle for page one
, 'my_one_callback'
);
add_submenu_page(
'my_one' // set the parent to your first page and it wont appear
, 'Page Title'
, 'Link Name' // unused
, 'administrator'
, 'my_two'
, 'my_two_callback'
);
Nguồn
2010-05-12 22:34:43
Vâng, tôi biết cách bao gồm một trang như page.php, page.php như thế nào? Id = 3? Điều này thay đổi tất cả mọi thứ và tôi không biết làm thế nào để làm điều đó. –
Tôi đã thêm một phương pháp khác có thể hoạt động cho bạn. –
5 năm sau và câu trả lời này vẫn hữu ích. Tuy nhiên @FletcherMoore bạn có biết làm thế nào tôi có thể làm cho nó để 'my_toplevel_link' vẫn còn được chọn là ** chính ** menu? –