2013-09-21 93 views
1

我有一個自定義的WordPress插件,它向我展示了數據庫中的數據列表。我通過註冊它的頁面:如何啓用WordPress自定義插件中的額外頁面?

add_menu_page( 
    'Naročila', 
    'Vsa naročila', 
    'administrator', 
    'listaj-narocila', 
    array(&$this, 'listaj_narocila') 
); 

然後當然我有功能lista_narocila這是展現我的數據。
所以,目前我的網址是:

http://domain.com/wp-admin/admin.php?page=listaj-narocila 

而且我在一個表中顯示從數據庫中我的數據。現在我有按鈕,刪除和編輯每個記錄,但我有一個很難想出來的,如何註冊自定義裏面WordPress的「URL」或「自定義頁面」,讓我有網址:

http://domain.com/wp-admin/admin.php?page=single-narocilo?id=X

我知道我可以嘗試add_menu_page但我不要希望此頁面在管理菜單中。只是以URL的形式提供。目前我沒有訪問錯誤。

回答

1

您可以創建一個子菜單頁面和pass null as its parent

$ parent_slug
使用NULL或設置爲「options.php」如果你想創建一個沒有出現在任何一個頁面菜單。

的演示:

add_action('admin_menu', function() 
{ 
    # Main page 
    add_menu_page( 
     'Vsa', 
     'Vsa', 
     'add_users', // Capability, not role 
     'listaj-narocila', 
     function(){ 
      printf(
       '<h2>%s</h2><a href="%s">%s</a>', 
       __('Main page'), 
       admin_url('admin.php?page=single-norcilo&id='.rand(1,25)), 
       __('Hidden sub page') 
      ); 
     }, 
     'http://sstatic.net/stackexchange/img/favicon.ico' 
    ); 

    # Child page  
    $hook = add_submenu_page(
     null, 
     'Norcilo', 
     'Norcilo', 
     'add_users', 
     'single-norcilo', 
     function(){ 
      printf(
       '<h2>%s</h2><a href="%s">%s</a>', 
       __('Hidden sub page'), 
       admin_url('admin.php?page=listaj-narocila'), 
       __('back') 
      ); 
     } 
    ); 

    # Enqueue script in submenu page to fix the current menu indicator 
    add_action("admin_footer-$hook", function() 
    { 
     echo <<<HTML 
<script type="text/javascript"> 
jQuery(document).ready(function($) { 
    $('#toplevel_page_listaj-narocila') 
     .removeClass('wp-not-current-submenu') 
     .addClass('current'); 
});  
</script> 
HTML; 

    }); 
}); 

的另一種方法:https://wordpress.stackexchange.com/a/114818/12615

相關問題